public void HandleSubscriber( IServerEventStream serverEventStream, IEventStreamSubscriber subscriber, IEventStreamBranch branch, object streamCookie = null) { if (subscriberAdded_ != null) { subscriberAdded_(subscriber); } }
public void HandleSubscriberRemoved( IServerEventStream serverEventStream, IEventStreamSubscriber subscriber, EventStreamSubscriberRemovedContext subscriberRemovedContext, IEventStreamBranch branch = null, object streamCookie = null) { if (subscriberRemoved_ != null) { subscriberRemoved_(subscriber); } }
private void UnsubscribeHandler( IServerEventStream stream, IEventStreamSubscriber subscriber, EventStreamSubscriberRemovedContext context, IEventStreamBranch branch, object cookie) { IEventStreamSubscriptionRequest request = subscriber.Subscription; // log the subscription cancellation LogMessage($"Removed subscriber {request.Caller} {request.SubscriptionContext.Arguments.AsString()}"); // remove subscriptions when cancelled var subscriptionItem = $"{request.Caller.ApplicationName} {request.SubscriptionContext.Arguments.AsString()}"; DispatchAction(() => ListViewSubscriptions.Items.Remove(subscriptionItem)); }
private void SubscriberHandler(IServerEventStream stream, IEventStreamSubscriber subscriber, IEventStreamBranch branch, object cookie) { IEventStreamSubscriptionRequest request = subscriber.Subscription; // log the subscriber LogMessage($"New subscriber {request.Caller} {request.SubscriptionContext.Arguments.AsString()}"); // push an 'image' to that subscriber which is received *only* by it (last image pattern) // this will be received as an OOB data - see the demo subscriber code subscriber.Push(cb => cb.AddValue("SubscribersAsImage", _glue.AGMObjectSerializer.Serialize(stream.GetBranches() .SelectMany(b => b.GetSubscribers().Select(sb => sb.Subscription.Caller))))); // e.g. keep the subscriptions in a list var subscriptionItem = $"{request.Caller.ApplicationName} {request.SubscriptionContext.Arguments.AsString()}"; DispatchAction(() => { ListViewSubscriptions.Items.Add(subscriptionItem); ListViewSubscriptions.ScrollIntoView(subscriptionItem); }); }
public void HandleStreamBranchClosed( IServerEventStream serverEventStream, IEventStreamBranch branch, object streamCookie = null) { }