public string AddItemListener(IItemListener <T> listener, bool includeValue)
        {
            var request = QueueAddListenerCodec.EncodeRequest(GetName(), includeValue, IsSmart());

            DistributedEventHandler handler = m =>
                                              QueueAddListenerCodec.EventHandler.HandleEvent(m,
                                                                                             (item, uuid, type) =>
            {
                HandleItemListener(item, uuid, (ItemEventType)type, listener, includeValue);
            });

            return(RegisterListener(request, m => QueueAddListenerCodec.DecodeResponse(m).response,
                                    id => QueueRemoveListenerCodec.EncodeRequest(GetName(), id), handler));
        }
Exemplo n.º 2
0
 /// <inheritdoc />
 protected override bool ReadUnsubscribeResponse(ClientMessage unsubscribeResponseMessage, SubscriptionState <CollectionItemEventHandlers <T> > state)
 => QueueRemoveListenerCodec.DecodeResponse(unsubscribeResponseMessage).Response;
Exemplo n.º 3
0
 /// <inheritdoc />
 protected override ClientMessage CreateUnsubscribeRequest(Guid subscriptionId, SubscriptionState <CollectionItemEventHandlers <T> > state)
 => QueueRemoveListenerCodec.EncodeRequest(Name, subscriptionId);
Exemplo n.º 4
0
 public bool RemoveItemListener(string registrationId)
 {
     return(StopListening(s => QueueRemoveListenerCodec.EncodeRequest(GetName(), s),
                          m => QueueRemoveListenerCodec.DecodeResponse(m).response, registrationId));
 }
 public bool RemoveItemListener(string registrationId)
 {
     return(DeregisterListener(registrationId, id => QueueRemoveListenerCodec.EncodeRequest(GetName(), id)));
 }