public override string AddItemListener(IItemListener <T> listener, bool includeValue) { var request = SetAddListenerCodec.EncodeRequest(GetName(), includeValue, IsSmart()); DistributedEventHandler handler = message => SetAddListenerCodec.EventHandler.HandleEvent(message, (item, uuid, type) => { HandleItemListener(item, uuid, (ItemEventType)type, listener, includeValue); }); return(RegisterListener(request, m => SetAddListenerCodec.DecodeResponse(m).response, id => SetRemoveListenerCodec.EncodeRequest(GetName(), id), handler)); }
protected override bool ReadUnsubscribeResponse(ClientMessage unsubscribeResponseMessage, SubscriptionState <CollectionItemEventHandlers <T> > state) => SetRemoveListenerCodec.DecodeResponse(unsubscribeResponseMessage).Response;
public override bool RemoveItemListener(string registrationId) { return(DeregisterListener(registrationId, id => SetRemoveListenerCodec.EncodeRequest(GetName(), id))); }
protected override ClientMessage CreateUnsubscribeRequest(Guid subscriptionId, SubscriptionState <CollectionItemEventHandlers <T> > state) => SetRemoveListenerCodec.EncodeRequest(Name, subscriptionId);
public override bool RemoveItemListener(string registrationId) { return(StopListening(s => SetRemoveListenerCodec.EncodeRequest(GetName(), s), message => SetRemoveListenerCodec.DecodeResponse(message).response, registrationId)); }