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

# Flow.Subscription

` public static interface Flow.Subscription `   
` `

|---|
| java.util.concurrent.Flow.Subscription |

<br />

*** ** * ** ***

Message control linking a `https://developer.android.com/reference/java/util/concurrent/Flow.Publisher` and `https://developer.android.com/reference/java/util/concurrent/Flow.Subscriber`. Subscribers receive items only when requested, and may cancel at any time. The methods in this interface are intended to be invoked only by their Subscribers; usages in other contexts have undefined effects.

## Summary

| ### Public methods ||
|---|---|
| ` abstract void` | ` https://developer.android.com/reference/java/util/concurrent/Flow.Subscription#cancel()() ` Causes the Subscriber to (eventually) stop receiving messages. |
| ` abstract void` | ` https://developer.android.com/reference/java/util/concurrent/Flow.Subscription#request(long)(long n) ` Adds the given number `n` of items to the current unfulfilled demand for this subscription. |

## Public methods

### cancel

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

```
public abstract void cancel ()
```

Causes the Subscriber to (eventually) stop receiving messages. Implementation is best-effort -- additional messages may be received after invoking this method. A cancelled subscription need not ever receive an `onComplete` or `onError` signal.

<br />

### request

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

```
public abstract void request (long n)
```

Adds the given number `n` of items to the current unfulfilled demand for this subscription. If `n` is less than or equal to zero, the Subscriber will receive an `onError` signal with an `https://developer.android.com/reference/java/lang/IllegalArgumentException` argument. Otherwise, the Subscriber will receive up to `n` additional `onNext` invocations (or fewer if terminated).

<br />

| Parameters ||
|---|---|
| `n` | `long`: the increment of demand; a value of `Long.MAX_VALUE` may be considered as effectively unbounded <br /> |