# BackpressureController

Source: /tuil/docs/reference/packages/streaming/api/backpressure-controller
Locale: en

interface exported by @mwillbanks/tuil-streaming.



{/* Generated by tooling/docs/generate-reference.ts. */}

## interface [#interface]

Public interface exported by `@mwillbanks/tuil-streaming`.

```ts
export interface BackpressureController {
  readonly desiredSize: number;
  wait(signal?: AbortSignal): Promise<void>;
  release(count?: number): void;
}
```

## Members [#members]

| Member        | Type                                      | Required | Description                                                                    | Related types |
| ------------- | ----------------------------------------- | -------- | ------------------------------------------------------------------------------ | ------------- |
| `desiredSize` | `number`                                  | Yes      | The `desiredSize` member uses the `number` contract.                           | —             |
| `wait`        | `(signal?: AbortSignal) => Promise<void>` | Yes      | The `wait` member uses the `(signal?: AbortSignal) => Promise<void>` contract. | —             |
| `release`     | `(count?: number) => void`                | Yes      | The `release` member uses the `(count?: number) => void` contract.             | —             |

## Parameters [#parameters]

This declaration has no public members.

## Returns [#returns]

This declaration does not return a value.

## Throws [#throws]

No thrown errors are documented for this declaration.

## Related types [#related-types]

No package-local related types.

## Source [#source]

[View the secondary source reference](https://github.com/mwillbanks/tuil/blob/main/packages/streaming/src/index.ts)

## Package [#package]

[@mwillbanks/tuil-streaming](/tuil/docs/reference/packages/streaming)
