internal void ContinuousQueryListenerFunction(ClientCacheEntryCustomEvent ev) { byte[] data = ev.GetEventData(); try { WrappedMessage wm = WrappedMessage.Parser.ParseFrom(data); ContinuousQueryResult r = ContinuousQueryResult.Parser.ParseFrom(wm.WrappedMessageBytes); ContinuousQueryResult.Types.ResultType t = r.ResultType; K k = (K)marshaller.ObjectFromByteBuffer(r.Key.ToByteArray()); V v = default(V); if (r.Projection.Count != 0) { WrappedMessage[] awm = r.Projection.ToArray(); object[] ret = new object[awm.Length]; for (var i = 0; i < awm.Length; i++) { ret[i] = marshaller.ObjectFromByteBuffer(awm[i].ToByteArray()); } v = (V)(object)ret; } else { v = (V)marshaller.ObjectFromByteBuffer(r.Value.ToByteArray()); } switch (t) { case ContinuousQueryResult.Types.ResultType.Joining: JoiningCallback(k, v); break; case ContinuousQueryResult.Types.ResultType.Leaving: LeavingCallback(k, v); break; case ContinuousQueryResult.Types.ResultType.Updated: UpdatedCallback(k, v); break; default: break; } } catch (System.Exception e) { Console.WriteLine(e.Message); } }
public override void processEvent(ClientCacheEventData evData) { switch (evData.eventType) { case (byte)EventType.CLIENT_CACHE_ENTRY_CREATED: { ClientCacheEntryCreatedEvent <K> ev = new ClientCacheEntryCreatedEvent <K>((K)unwrap(evData.key), evData.version, evData.isCommandRetried); cl.ProcessEvent(ev); } break; case (byte)EventType.CLIENT_CACHE_ENTRY_MODIFIED: { ClientCacheEntryModifiedEvent <K> ev = new ClientCacheEntryModifiedEvent <K>((K)unwrap(evData.key), evData.version, evData.isCommandRetried); cl.ProcessEvent(ev); } break; case (byte)EventType.CLIENT_CACHE_ENTRY_REMOVED: { ClientCacheEntryRemovedEvent <K> ev = new ClientCacheEntryRemovedEvent <K>((K)unwrap(evData.key), evData.isCommandRetried); cl.ProcessEvent(ev); } break; case (byte)EventType.CLIENT_CACHE_ENTRY_EXPIRED: { ClientCacheEntryExpiredEvent <K> ev = new ClientCacheEntryExpiredEvent <K>((K)unwrap(evData.key)); cl.ProcessEvent(ev); } break; case (byte)EventType.CLIENT_CACHE_ENTRY_CUSTOM: { byte[] b = evData.data.ToArray(); ClientCacheEntryCustomEvent ev = new ClientCacheEntryCustomEvent(b, evData.isCommandRetried); cl.ProcessEvent(ev); } break; case (byte)EventType.CLIENT_CACHE_FAILOVER: { } break; } }