# UploadDataSink


```
public abstract class UploadDataSink
```

<br />

*** ** * ** ***

Defines callbacks methods for `https://developer.android.com/develop/connectivity/cronet/reference/org/chromium/net/UploadDataProvider`. All methods may be called synchronously or asynchronously, on any thread.

## Summary

| ### Public constructors |
|---|
| `https://developer.android.com/develop/connectivity/cronet/reference/org/chromium/net/UploadDataSink#UploadDataSink()()` |

| ### Public methods |
|---|---|
| `abstract void` | `https://developer.android.com/develop/connectivity/cronet/reference/org/chromium/net/UploadDataSink#onReadError(java.lang.Exception)(https://developer.android.com/reference/java/lang/Exception.html exception)` Called by `https://developer.android.com/develop/connectivity/cronet/reference/org/chromium/net/UploadDataProvider` when a read fails. |
| `abstract void` | `https://developer.android.com/develop/connectivity/cronet/reference/org/chromium/net/UploadDataSink#onReadSucceeded(boolean)(boolean finalChunk)` Called by `https://developer.android.com/develop/connectivity/cronet/reference/org/chromium/net/UploadDataProvider` when a read succeeds. |
| `abstract void` | `https://developer.android.com/develop/connectivity/cronet/reference/org/chromium/net/UploadDataSink#onRewindError(java.lang.Exception)(https://developer.android.com/reference/java/lang/Exception.html exception)` Called by `https://developer.android.com/develop/connectivity/cronet/reference/org/chromium/net/UploadDataProvider` when a rewind fails, or if rewinding uploads is not supported. |
| `abstract void` | `https://developer.android.com/develop/connectivity/cronet/reference/org/chromium/net/UploadDataSink#onRewindSucceeded()()` Called by `https://developer.android.com/develop/connectivity/cronet/reference/org/chromium/net/UploadDataProvider` when a rewind succeeds. |

## Public constructors

### UploadDataSink

```
public UploadDataSink()
```

## Public methods

### onReadError

```
public abstract void onReadError(Exception exception)
```

Called by `https://developer.android.com/develop/connectivity/cronet/reference/org/chromium/net/UploadDataProvider` when a read fails.

| Parameters |
|---|---|
| `https://developer.android.com/reference/java/lang/Exception.html exception` | Exception passed on to the embedder. |

### onReadSucceeded

```
public abstract void onReadSucceeded(boolean finalChunk)
```

Called by `https://developer.android.com/develop/connectivity/cronet/reference/org/chromium/net/UploadDataProvider` when a read succeeds.

| Parameters |
|---|---|
| `boolean finalChunk` | For chunked uploads, `true` if this is the final read. It must be `false` for non-chunked uploads. |

### onRewindError

```
public abstract void onRewindError(Exception exception)
```

Called by `https://developer.android.com/develop/connectivity/cronet/reference/org/chromium/net/UploadDataProvider` when a rewind fails, or if rewinding uploads is not supported.

| Parameters |
|---|---|
| `https://developer.android.com/reference/java/lang/Exception.html exception` | Exception passed on to the embedder. |

### onRewindSucceeded

```
public abstract void onRewindSucceeded()
```

Called by `https://developer.android.com/develop/connectivity/cronet/reference/org/chromium/net/UploadDataProvider` when a rewind succeeds.