Added in [API level 26](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

# CompletionHandler

` public interface CompletionHandler `   
` `

|---|
| java.nio.channels.CompletionHandler\<V, A\> |

<br />

*** ** * ** ***

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 `https://developer.android.com/reference/java/nio/channels/CompletionHandler#completed(V,%20A)` method is invoked when the I/O operation completes successfully. The `https://developer.android.com/reference/java/nio/channels/CompletionHandler#failed(java.lang.Throwable,%20A)` 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.

## Summary

| ### Public methods ||
|---|---|
| ` abstract void` | ` https://developer.android.com/reference/java/nio/channels/CompletionHandler#completed(V,%20A)(V result, A attachment) ` Invoked when an operation has completed. |
| ` abstract void` | ` https://developer.android.com/reference/java/nio/channels/CompletionHandler#failed(java.lang.Throwable,%20A)(https://developer.android.com/reference/java/lang/Throwable exc, A attachment) ` Invoked when an operation fails. |

## Public methods

### completed

Added in [API level 26](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public abstract void completed (V result, 
                A attachment)
```

Invoked when an operation has completed.

<br />

| Parameters ||
|---|---|
| `result` | `V`: The result of the I/O operation. <br /> |
| `attachment` | `A`: The object attached to the I/O operation when it was initiated. <br /> |

### failed

Added in [API level 26](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public abstract void failed (Throwable exc, 
                A attachment)
```

Invoked when an operation fails.

<br />

| Parameters ||
|---|---|
| `exc` | `Throwable`: The exception to indicate why the I/O operation failed <br /> |
| `attachment` | `A`: The object attached to the I/O operation when it was initiated. <br /> |