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);
     }
 }
Exemplo n.º 3
0
        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));
        }
Exemplo n.º 4
0
        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)
 {
 }