Example #1
0
        public override string AddItemListener(IItemListener <T> listener, bool includeValue)
        {
            var request = ListAddListenerCodec.EncodeRequest(GetName(), includeValue, false);

            DistributedEventHandler handler = message => ListAddListenerCodec.AbstractEventHandler.Handle(message,
                                                                                                          ((item, uuid, type) => { HandleItemListener(item, uuid, (ItemEventType)type, listener, includeValue); }));

            return(Listen(request,
                          m => ListAddListenerCodec.DecodeResponse(m).response, GetPartitionKey(), handler));
        }
        public override string AddItemListener(IItemListener <T> listener, bool includeValue)
        {
            var request = ListAddListenerCodec.EncodeRequest(GetName(), includeValue, IsSmart());

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

            return(RegisterListener(request, m => ListAddListenerCodec.DecodeResponse(m).response,
                                    id => ListRemoveListenerCodec.EncodeRequest(GetName(), id), handler));
        }
Example #3
0
 protected override ValueTask CodecHandleEventAsync(ClientMessage eventMessage, Func <IData, Guid, int, ValueTask> f, ILoggerFactory loggerFactory)
 => ListAddListenerCodec.HandleEventAsync(
     eventMessage,
     (itemData, memberId, eventTypeData) => f(itemData, memberId, eventTypeData),
     loggerFactory);
Example #4
0
 protected override Guid ReadSubscribeResponse(ClientMessage responseMessage, SubscriptionState <CollectionItemEventHandlers <T> > state)
 => ListAddListenerCodec.DecodeResponse(responseMessage).Response;
Example #5
0
 protected override ClientMessage CreateSubscribeRequest(bool includeValue, bool isSmartRouting)
 => ListAddListenerCodec.EncodeRequest(Name, includeValue, isSmartRouting);
 protected override ValueTask CodecHandleEventAsync(ClientMessage eventMessage, Func <IData, Guid, int, object, ValueTask> handler, object state, ILoggerFactory loggerFactory)
 => ListAddListenerCodec.HandleEventAsync(eventMessage, handler, state, loggerFactory);