コード例 #1
0
        public static Hazelcast.Client.Protocol.AnchorDataListHolder Decode(FrameIterator iterator)
        {
            // begin frame
            iterator.Next();

            var anchorPageList = ListIntegerCodec.Decode(iterator);
            var anchorDataList = EntryListCodec.Decode(iterator, DataCodec.Decode, DataCodec.Decode);

            CodecUtil.FastForwardToEndFrame(iterator);

            return(new Hazelcast.Client.Protocol.AnchorDataListHolder(anchorPageList, anchorDataList));
        }
コード例 #2
0
        public static Hazelcast.Client.DistributedObjectInfo Decode(FrameIterator iterator)
        {
            // begin frame
            iterator.Next();

            var serviceName = StringCodec.Decode(iterator);
            var name        = StringCodec.Decode(iterator);

            CodecUtil.FastForwardToEndFrame(iterator);

            return(new Hazelcast.Client.DistributedObjectInfo(serviceName, name));
        }
        public static IList <KeyValuePair <Guid, IList <int> > > Decode(FrameIterator iterator)
        {
            var listV = ListMultiFrameCodec.Decode(iterator, ListIntegerCodec.Decode);
            var listK = ListUUIDCodec.Decode(iterator);

            var result = new List <KeyValuePair <Guid, IList <int> > >(listK.Count);

            for (var i = 0; i < listK.Count; i++)
            {
                result.Add(new KeyValuePair <Guid, IList <int> >(listK[i], listV[i]));
            }
            return(result);
        }
コード例 #4
0
        public static Hazelcast.Config.BitmapIndexOptions Decode(FrameIterator iterator)
        {
            // begin frame
            iterator.Next();

            var initialFrame            = iterator.Next();
            var uniqueKeyTransformation = DecodeInt(initialFrame.Content, UniqueKeyTransformationFieldOffset);

            var uniqueKey = StringCodec.Decode(iterator);

            CodecUtil.FastForwardToEndFrame(iterator);

            return(CustomTypeFactory.CreateBitmapIndexOptions(uniqueKey, uniqueKeyTransformation));
        }
コード例 #5
0
        public static IList <KeyValuePair <int, Guid> > Decode(FrameIterator iterator)
        {
            var frame     = iterator.Next();
            var itemCount = frame.Content.Length / EntrySizeInBytes;
            var result    = new List <KeyValuePair <int, Guid> >();

            for (var i = 0; i < itemCount; i++)
            {
                var key   = DecodeInt(frame.Content, i * EntrySizeInBytes);
                var value = DecodeGuid(frame.Content, i * EntrySizeInBytes + IntSizeInBytes);
                result.Add(new KeyValuePair <int, Guid>(key, value));
            }
            return(result);
        }
コード例 #6
0
        public static Hazelcast.IO.Address Decode(FrameIterator iterator)
        {
            // begin frame
            iterator.Next();

            var initialFrame = iterator.Next();
            var port         = DecodeInt(initialFrame.Content, PortFieldOffset);

            var host = StringCodec.Decode(iterator);

            CodecUtil.FastForwardToEndFrame(iterator);

            return(CustomTypeFactory.CreateAddress(host, port));
        }
コード例 #7
0
        public static Hazelcast.Core.MemberVersion Decode(FrameIterator iterator)
        {
            // begin frame
            iterator.Next();

            var initialFrame = iterator.Next();
            var major        = DecodeByte(initialFrame.Content, MajorFieldOffset);
            var minor        = DecodeByte(initialFrame.Content, MinorFieldOffset);
            var patch        = DecodeByte(initialFrame.Content, PatchFieldOffset);

            CodecUtil.FastForwardToEndFrame(iterator);

            return(new Hazelcast.Core.MemberVersion(major, minor, patch));
        }
コード例 #8
0
        public static IList <KeyValuePair <long, byte[]> > Decode(FrameIterator iterator)
        {
            var listV = ListMultiFrameCodec.Decode(iterator, ByteArrayCodec.Decode);
            var listK = ListLongCodec.Decode(iterator);

            var result = new List <KeyValuePair <long, byte[]> >(listV.Count);

            for (var i = 0; i < listK.Count; i++)
            {
                result.Add(new KeyValuePair <long, byte[]>(listK[i], listV[i]));
            }

            return(result);
        }
コード例 #9
0
        public static List <T> DecodeContainsNullable <T>(FrameIterator iterator, DecodeDelegate <T> decodeFunction) where T : class
        {
            var result = new List <T>();

            //begin frame, list
            iterator.Next();
            while (!IsNextFrameIsDataStructureEndFrame(iterator))
            {
                result.Add(IsNextFrameIsNullEndFrame(iterator) ? null : decodeFunction(iterator));
            }

            //end frame, list
            iterator.Next();
            return(result);
        }
コード例 #10
0
        public static List <T> Decode <T>(FrameIterator iterator, DecodeDelegate <T> decodeFunction)
        {
            var result = new List <T>();

            //begin frame, list
            iterator.Next();
            while (!IsNextFrameIsDataStructureEndFrame(iterator))
            {
                result.Add(decodeFunction(iterator));
            }

            //end frame, list
            iterator.Next();
            return(result);
        }
コード例 #11
0
        public static Hazelcast.Config.IndexConfig Decode(FrameIterator iterator)
        {
            // begin frame
            iterator.Next();

            var initialFrame = iterator.Next();
            var type         = DecodeInt(initialFrame.Content, TypeFieldOffset);

            var name               = CodecUtil.DecodeNullable(iterator, StringCodec.Decode);
            var attributes         = ListMultiFrameCodec.Decode(iterator, StringCodec.Decode);
            var bitmapIndexOptions = CodecUtil.DecodeNullable(iterator, BitmapIndexOptionsCodec.Decode);

            CodecUtil.FastForwardToEndFrame(iterator);

            return(CustomTypeFactory.CreateIndexConfig(name, type, attributes, bitmapIndexOptions));
        }
コード例 #12
0
        public static Hazelcast.Util.StackTraceElement Decode(FrameIterator iterator)
        {
            // begin frame
            iterator.Next();

            var initialFrame = iterator.Next();
            var lineNumber   = DecodeInt(initialFrame.Content, LineNumberFieldOffset);

            var className  = StringCodec.Decode(iterator);
            var methodName = StringCodec.Decode(iterator);
            var fileName   = CodecUtil.DecodeNullable(iterator, StringCodec.Decode);

            CodecUtil.FastForwardToEndFrame(iterator);

            return(new Hazelcast.Util.StackTraceElement(className, methodName, fileName, lineNumber));
        }
コード例 #13
0
        public static Hazelcast.Client.Protocol.ErrorHolder Decode(FrameIterator iterator)
        {
            // begin frame
            iterator.Next();

            var initialFrame = iterator.Next();
            var errorCode    = DecodeInt(initialFrame.Content, ErrorCodeFieldOffset);

            var className          = StringCodec.Decode(iterator);
            var message            = CodecUtil.DecodeNullable(iterator, StringCodec.Decode);
            var stackTraceElements = ListMultiFrameCodec.Decode(iterator, StackTraceElementCodec.Decode);

            CodecUtil.FastForwardToEndFrame(iterator);

            return(new Hazelcast.Client.Protocol.ErrorHolder(errorCode, className, message, stackTraceElements));
        }
コード例 #14
0
        public static Hazelcast.Core.MemberInfo Decode(FrameIterator iterator)
        {
            // begin frame
            iterator.Next();

            var initialFrame = iterator.Next();
            var uuid         = DecodeGuid(initialFrame.Content, UuidFieldOffset);
            var liteMember   = DecodeBool(initialFrame.Content, LiteMemberFieldOffset);

            var address    = AddressCodec.Decode(iterator);
            var attributes = MapCodec.Decode(iterator, StringCodec.Decode, StringCodec.Decode);
            var version    = MemberVersionCodec.Decode(iterator);

            CodecUtil.FastForwardToEndFrame(iterator);

            return(new Hazelcast.Core.MemberInfo(address, uuid, attributes, liteMember, version));
        }
コード例 #15
0
        public static IDictionary <TKey, TValue> Decode <TKey, TValue>(FrameIterator iterator, DecodeDelegate <TKey> decodeKey, DecodeDelegate <TValue> decodeValue)
        {
            var result = new Dictionary <TKey, TValue>();

            //begin frame, map
            iterator.Next();

            while (!IsNextFrameIsDataStructureEndFrame(iterator))
            {
                var key   = decodeKey(iterator);
                var value = decodeValue(iterator);
                result[key] = value;
            }

            //end frame, map
            iterator.Next();
            return(result);
        }
コード例 #16
0
        // public static void EncodeNullable<TKey, TValue>(ClientMessage clientMessage, IEnumerable<KeyValuePair<TKey, TValue>> collection,
        //         Action<ClientMessage, TKey> encodeKeyFunc,
        //         Action<ClientMessage, TValue> encodeValueFunc)
        // {
        //     if (collection == null)
        //     {
        //         clientMessage.Add(NullFrame.Copy());
        //     }
        //     else
        //     {
        //         Encode(clientMessage, collection, encodeKeyFunc, encodeValueFunc);
        //     }
        // }

        public static IList <KeyValuePair <TKey, TValue> > Decode <TKey, TValue>(FrameIterator iterator,
                                                                                 DecodeDelegate <TKey> decodeKeyFunc,
                                                                                 DecodeDelegate <TValue> decodeValueFunc)
        {
            var result = new List <KeyValuePair <TKey, TValue> >();

            //begin frame, map
            iterator.Next();
            while (!IsNextFrameIsDataStructureEndFrame(iterator))
            {
                var key   = decodeKeyFunc(iterator);
                var value = decodeValueFunc(iterator);
                result.Add(new KeyValuePair <TKey, TValue>(key, value));
            }
            //end frame, map
            iterator.Next();
            return(result);
        }
コード例 #17
0
        public static Hazelcast.Client.Protocol.PagingPredicateHolder Decode(FrameIterator iterator)
        {
            // begin frame
            iterator.Next();

            var initialFrame    = iterator.Next();
            var pageSize        = DecodeInt(initialFrame.Content, PageSizeFieldOffset);
            var page            = DecodeInt(initialFrame.Content, PageFieldOffset);
            var iterationTypeId = DecodeByte(initialFrame.Content, IterationTypeIdFieldOffset);

            var anchorDataListHolder = AnchorDataListHolderCodec.Decode(iterator);
            var predicateData        = CodecUtil.DecodeNullable(iterator, DataCodec.Decode);
            var comparatorData       = CodecUtil.DecodeNullable(iterator, DataCodec.Decode);
            var partitionKeyData     = CodecUtil.DecodeNullable(iterator, DataCodec.Decode);

            CodecUtil.FastForwardToEndFrame(iterator);

            return(new Hazelcast.Client.Protocol.PagingPredicateHolder(anchorDataListHolder, predicateData, comparatorData, pageSize, page, iterationTypeId, partitionKeyData));
        }
コード例 #18
0
        public static Hazelcast.Map.SimpleEntryView <IData, IData> Decode(FrameIterator iterator)
        {
            // begin frame
            iterator.Next();

            var initialFrame   = iterator.Next();
            var cost           = DecodeLong(initialFrame.Content, CostFieldOffset);
            var creationTime   = DecodeLong(initialFrame.Content, CreationTimeFieldOffset);
            var expirationTime = DecodeLong(initialFrame.Content, ExpirationTimeFieldOffset);
            var hits           = DecodeLong(initialFrame.Content, HitsFieldOffset);
            var lastAccessTime = DecodeLong(initialFrame.Content, LastAccessTimeFieldOffset);
            var lastStoredTime = DecodeLong(initialFrame.Content, LastStoredTimeFieldOffset);
            var lastUpdateTime = DecodeLong(initialFrame.Content, LastUpdateTimeFieldOffset);
            var version        = DecodeLong(initialFrame.Content, VersionFieldOffset);
            var ttl            = DecodeLong(initialFrame.Content, TtlFieldOffset);
            var maxIdle        = DecodeLong(initialFrame.Content, MaxIdleFieldOffset);

            var key    = DataCodec.Decode(iterator);
            var @value = DataCodec.Decode(iterator);

            CodecUtil.FastForwardToEndFrame(iterator);

            return(CustomTypeFactory.CreateSimpleEntryView(key, @value, cost, creationTime, expirationTime, hits, lastAccessTime, lastStoredTime, lastUpdateTime, version, ttl, maxIdle));
        }
コード例 #19
0
 public static List <T> DecodeNullable <T>(ref FrameIterator iterator, DecodeDelegate <T> decodeFunction)
 {
     return(IsNextFrameIsNullEndFrame(iterator) ? null : Decode(iterator, decodeFunction));
 }
コード例 #20
0
 public static IDictionary <TKey, TValue> DecodeNullable <TKey, TValue>(FrameIterator iterator, DecodeDelegate <TKey> decodeKey, DecodeDelegate <TValue> decodeValue)
 {
     return(IsNextFrameIsNullEndFrame(iterator) ? null : Decode(iterator, decodeKey, decodeValue));
 }
コード例 #21
0
 public static string Decode(FrameIterator iterator)
 {
     return(Decode(iterator.Next()));
 }
コード例 #22
0
 public static long[] Decode(FrameIterator iterator)
 {
     return(Decode(iterator.Next()));
 }
コード例 #23
0
 public static IEnumerable <KeyValuePair <TKey, TValue> > DecodeNullable <TKey, TValue>(FrameIterator iterator,
                                                                                        DecodeDelegate <TKey> decodeKeyFunc, DecodeDelegate <TValue> decodeValueFunc)
 {
     return(IsNextFrameIsNullEndFrame(iterator) ? null : Decode(iterator, decodeKeyFunc, decodeValueFunc));
 }
コード例 #24
0
 public static IList <int> Decode(FrameIterator iterator)
 {
     return(Decode(iterator.Next()));
 }