public async Task <StreamSubscription> AddSubscription(string streamProviderName, StreamId streamId, GrainReference grainRef) { var consumer = grainRef.AsReference <IStreamConsumerExtension>(); var internalStreamId = new InternalStreamId(streamProviderName, streamId); var subscriptionId = streamPubSub.CreateSubscriptionId(internalStreamId, consumer); await streamPubSub.RegisterConsumer(subscriptionId, internalStreamId, consumer); var newSub = new StreamSubscription(subscriptionId.Guid, streamProviderName, streamId, grainRef.GrainId); return(newSub); }
public async Task <StreamSubscription> AddSubscription(string streamProviderName, IStreamIdentity streamIdentity, GrainReference grainRef) { var consumer = grainRef.AsReference <IStreamConsumerExtension>(); var streamId = StreamId.GetStreamId(streamIdentity.Guid, streamProviderName, streamIdentity.Namespace); var subscriptionId = streamPubSub.CreateSubscriptionId( streamId, consumer); await streamPubSub.RegisterConsumer(subscriptionId, streamId, streamProviderName, consumer, null); var newSub = new StreamSubscription(subscriptionId.Guid, streamProviderName, streamId, grainRef.GrainId); return(newSub); }