Пример #1
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));
        }
Пример #2
0
        public void MapTest()
        {
            var oh = new MapCodec(data);

            oh.MapStart = 10;
            oh.MapStep  = 5;
            var test = new List <string> {
                "a", "c", "d", "f"
            };
            var expected = new TensorOld(new double[] { 10, 20, 25, 35 }, 4, 1);
            var encode   = oh.Encode(test);

            Assert.Equal(expected, encode);

            var decode = oh.Decode(encode);

            Assert.Equal(decode, test);
        }
        public static Hazelcast.Data.MemberInfo Decode(IEnumerator <Frame> iterator)
        {
            // begin frame
            iterator.Take();

            var initialFrame = iterator.Take();
            var uuid         = initialFrame.Bytes.ReadGuidL(UuidFieldOffset);

            var liteMember         = initialFrame.Bytes.ReadBoolL(LiteMemberFieldOffset);
            var address            = AddressCodec.Decode(iterator);
            var attributes         = MapCodec.Decode(iterator, StringCodec.Decode, StringCodec.Decode);
            var version            = MemberVersionCodec.Decode(iterator);
            var isAddressMapExists = false;
            IDictionary <Hazelcast.Data.EndpointQualifier, Hazelcast.Networking.NetworkAddress> addressMap = default;

            if (iterator.NextIsNotTheEnd())
            {
                addressMap         = MapCodec.Decode(iterator, EndpointQualifierCodec.Decode, AddressCodec.Decode);
                isAddressMapExists = true;
            }

            iterator.SkipToStructEnd();
            return(new Hazelcast.Data.MemberInfo(address, uuid, attributes, liteMember, version, isAddressMapExists, addressMap));
        }