# QueueAdapterExtensions.QueueMessageAsync(IQueueAdapter, StreamId, T, StreamSequenceToken?, Dictionary&lt;string, object&gt;)

[Type overview](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.streams.queueadapterextensions/) | [Methods](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.streams.queueadapterextensions/methods/)

[Source](https://github.com/dotnet/orleans/blob/b7a9e3e1c9c54b3cec3a467c5734bf7744541bcf/src/Orleans.Streaming/QueueAdapters/IQueueAdapter.cs#L65)

```csharp
public static Task QueueMessageAsync<T>(this IQueueAdapter adapter, StreamId streamId, T evt, StreamSequenceToken? token, Dictionary<string, object>? requestContext)
```

Writes a set of events to the queue as a single batch associated with the provided `streamId`.

### Parameters

- `adapter` (`IQueueAdapter`): The adapter.
- `streamId` (`StreamId`): The stream identifier.
- `evt` (`T`): The event.
- `token` (`StreamSequenceToken?`): The token.
- `requestContext` (`Dictionary<string, object>`): The request context.

### Returns

A `System.Threading.Tasks.Task` representing the operation.
