# IAsyncStream&lt;T&gt;

Package: [Microsoft.Orleans.Streaming](/orleans/docs/api/csharp/microsoft.orleans.streaming/) 10.0.0

[NuGet package](https://www.nuget.org/packages/Microsoft.Orleans.Streaming) | [Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Streaming/Core/IAsyncStream.cs#L14)

```csharp
public interface IAsyncStream<T> : IAsyncBatchObservable<T>, IAsyncBatchProducer<T>, IAsyncObservable<T>, IAsyncObserver<T>, IAsyncStream, IComparable<IAsyncStream<T>>, IEquatable<IAsyncStream<T>>
```

This interface represents an object that serves as a distributed rendezvous between producers and consumers. It is similar to a Reactive Framework 

```csharp
Subject
```

 and implements 

```csharp
IObserver
```

 nor 

```csharp
IObservable
```

 interfaces.

## Type parameters

- `T`: The type of object that flows through the stream.

## Methods

- [GetAllSubscriptionHandles](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.streams.iasyncstream-1/methods/getallsubscriptionhandles-4705f716/)
