# IStreamPubSub.RegisterProducer(QualifiedStreamId, GrainId, CancellationToken)

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

[Source](https://github.com/dotnet/orleans/blob/1644940b035c7bdf215a4fd7135757c06bcfe9ec/src/Orleans.Streaming/Providers/IStreamProviderRuntime.cs#L90)

```csharp
public virtual Task<ISet<PubSubSubscriptionState>> RegisterProducer(QualifiedStreamId streamId, GrainId streamProducer, CancellationToken cancellationToken)
```

Registers a stream producer.

### Parameters

- `streamId` (`QualifiedStreamId`): The stream identifier.
- `streamProducer` (`GrainId`): The producer identifier.
- `cancellationToken` (`CancellationToken`): The cancellation token.

### Returns

The set of stream subscriptions.
