# ComputeStreamBinding

`import { ComputeStreamBinding } from "destack:compute/binding";`

Compute stream binding family.

```ds title="ComputeStreamBinding"
export interface ComputeStreamBinding {
    device(stream: &'a readonly Stream): Device;
    default(device: &'a readonly Device): Stream;
    create(device: &'a readonly Device): Stream;
    isComplete(stream: &'a readonly Stream): boolean;
    wait(stream: &'a Stream, event: &'b readonly Event): void;
    synchronize(stream: &'a readonly Stream): void;
}
```

[language/library/src/compute/binding/stream.ds:5:53](https://github.com/destack-sh/destack/blob/main/language/library/src/compute/binding/stream.ds#L5-L53)

## Members

### `device(stream: &'a readonly Stream): Device`

Return the device that owns `stream`.

### `default(device: &'a readonly Device): Stream`

Return the default stream for `device`.

### `create(device: &'a readonly Device): Stream`

Create a new stream on `device`.

### `isComplete(stream: &'a readonly Stream): boolean`

Return whether all queued stream work has completed.

### `wait(stream: &'a Stream, event: &'b readonly Event): void`

Make future work on `stream` wait for `event`.

### `synchronize(stream: &'a readonly Stream): void`

Wait until all preceding stream work completes.
