public virtual async Task TestBecomeConsumerSlim(Guid streamIdGuid, string providerName) { InitStream(streamIdGuid, null, providerName); var observer = new MyStreamObserver <int>(logger); //var subsHandle = await State.Stream.SubscribeAsync(observer); IStreamConsumerExtension myExtensionReference; #if USE_CAST myExtensionReference = StreamConsumerExtensionFactory.Cast(this.AsReference()); #else var tup = await this.runtimeClient.BindExtension <StreamConsumerExtension, IStreamConsumerExtension>( () => new StreamConsumerExtension(this.streamProviderRuntime)); StreamConsumerExtension myExtension = tup.Item1; myExtensionReference = tup.Item2; #endif string extKey = providerName + "_" + State.Stream.Namespace; IPubSubRendezvousGrain pubsub = GrainFactory.GetGrain <IPubSubRendezvousGrain>(streamIdGuid, extKey, null); GuidId subscriptionId = GuidId.GetNewGuidId(); await pubsub.RegisterConsumer(subscriptionId, ((StreamImpl <int>)State.Stream).StreamId, myExtensionReference, null); myExtension.SetObserver(subscriptionId, ((StreamImpl <int>)State.Stream), observer, null, null, null); }
public virtual async Task TestBecomeConsumerSlim(Guid streamIdGuid, string providerName) { InitStream(streamIdGuid, null, providerName); var observer = new MyStreamObserver <int>(logger); var(myExtension, myExtensionReference) = this.streamProviderRuntime.BindExtension <StreamConsumerExtension, IStreamConsumerExtension>( () => new StreamConsumerExtension(streamProviderRuntime)); string extKey = providerName + "_" + State.Stream.Namespace; IPubSubRendezvousGrain pubsub = GrainFactory.GetGrain <IPubSubRendezvousGrain>(streamIdGuid, extKey, null); GuidId subscriptionId = GuidId.GetNewGuidId(); await pubsub.RegisterConsumer(subscriptionId, ((StreamImpl <int>)State.Stream).StreamId, myExtensionReference, null); myExtension.SetObserver(subscriptionId, ((StreamImpl <int>)State.Stream), observer, null, null, null); }
public virtual async Task TestBecomeConsumerSlim(StreamId streamId, string providerName) { InitStream(streamId, providerName); var observer = new MyStreamObserver <int>(logger); //var subsHandle = await State.Stream.SubscribeAsync(observer); var(myExtension, myExtensionReference) = this.streamProviderRuntime.BindExtension <StreamConsumerExtension, IStreamConsumerExtension>( () => new StreamConsumerExtension(streamProviderRuntime)); string extKey = providerName + "_" + Encoding.UTF8.GetString(State.Stream.StreamId.Namespace.ToArray()); var id = new InternalStreamId(providerName, streamId); IPubSubRendezvousGrain pubsub = GrainFactory.GetGrain <IPubSubRendezvousGrain>(id.ToString()); GuidId subscriptionId = GuidId.GetNewGuidId(); await pubsub.RegisterConsumer(subscriptionId, ((StreamImpl <int>)State.Stream).InternalStreamId, myExtensionReference, null); myExtension.SetObserver(subscriptionId, ((StreamImpl <int>)State.Stream), observer, null, null, null); }
public virtual async Task TestBecomeConsumerSlim(Guid streamIdGuid, string providerName) { // TODO NOT SURE THIS FUNCTION MAKESE ANY SENSE var streamId = StreamId.Create(null, streamIdGuid); InitStream(streamId, providerName); var observer = new MyStreamObserver <int>(logger); var(myExtension, myExtensionReference) = this.streamProviderRuntime.BindExtension <StreamConsumerExtension, IStreamConsumerExtension>( () => new StreamConsumerExtension(streamProviderRuntime)); var id = new InternalStreamId(providerName, streamId); IPubSubRendezvousGrain pubsub = GrainFactory.GetGrain <IPubSubRendezvousGrain>(id.ToString()); GuidId subscriptionId = GuidId.GetNewGuidId(); await pubsub.RegisterConsumer(subscriptionId, ((StreamImpl <int>)State.Stream).InternalStreamId, myExtensionReference, null); myExtension.SetObserver(subscriptionId, ((StreamImpl <int>)State.Stream), observer, null, null, null); }