Esempio n. 1
0
        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);
            }
        }
Esempio n. 2
0
        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;
            }
        }