CompletionHandler (Java SE 25 & JDK 25)
Description: declaration: module: java.base, package: java.nio.channels, interface: CompletionHandler
Keywords: java.nio.channels.CompletionHandler interface

# 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

  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 Details

  - ### 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.