Module java.base
Package java.nio.channels

## Interface CompletionHandler<V,A>

- Type Parameters:
    `V` - The result type of the I/O operation
    `A` - The type of the object attached to the I/O operation

      public interface CompletionHandler<V,A>

  A handler for consuming the result of an asynchronous I/O operation.

  The asynchronous channels defined in this package allow a completion handler to be specified to consume the result of an asynchronous operation. The `completed` method is invoked when the I/O operation completes successfully. The `failed` method is invoked if the I/O operations fails. The implementations of these methods should complete in a timely manner so as to avoid keeping the invoking thread from dispatching to other completion handlers.

  Since:
    1.7

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `completed​(V result, A attachment)` | Invoked when an operation has completed.
    `void` | `failed​(Throwable exc, A attachment)` | Invoked when an operation fails.

- - ### Method Detail

    - #### completed

          void completed​(V result,
                         A attachment)

      Invoked when an operation has completed.
      Parameters:
        `result` - The result of the I/O operation.
        `attachment` - The object attached to the I/O operation when it was initiated.

    - #### failed

          void failed​(Throwable exc,
                      A attachment)

      Invoked when an operation fails.
      Parameters:
        `exc` - The exception to indicate why the I/O operation failed
        `attachment` - The object attached to the I/O operation when it was initiated.