Пример #1
0
        public static void Encode(ClientMessage clientMessage, Hazelcast.Core.MemberInfo memberInfo)
        {
            clientMessage.Add(BeginFrame.Copy());

            var initialFrame = new Frame(new byte[InitialFrameSize]);

            EncodeGuid(initialFrame.Content, UuidFieldOffset, memberInfo.Uuid);
            EncodeBool(initialFrame.Content, LiteMemberFieldOffset, memberInfo.IsLiteMember);
            clientMessage.Add(initialFrame);

            AddressCodec.Encode(clientMessage, memberInfo.Address);
            MapCodec.Encode(clientMessage, memberInfo.Attributes, StringCodec.Encode, StringCodec.Encode);
            MemberVersionCodec.Encode(clientMessage, memberInfo.Version);

            clientMessage.Add(EndFrame.Copy());
        }
        public static void Encode(ClientMessage clientMessage, Hazelcast.Data.MemberInfo memberInfo)
        {
            clientMessage.Append(Frame.CreateBeginStruct());

            var initialFrame = new Frame(new byte[InitialFrameSize]);

            initialFrame.Bytes.WriteGuidL(UuidFieldOffset, memberInfo.Uuid);
            initialFrame.Bytes.WriteBoolL(LiteMemberFieldOffset, memberInfo.IsLiteMember);
            clientMessage.Append(initialFrame);

            AddressCodec.Encode(clientMessage, memberInfo.Address);
            MapCodec.Encode(clientMessage, memberInfo.Attributes, StringCodec.Encode, StringCodec.Encode);
            MemberVersionCodec.Encode(clientMessage, memberInfo.Version);
            MapCodec.Encode(clientMessage, memberInfo.AddressMap, EndpointQualifierCodec.Encode, AddressCodec.Encode);

            clientMessage.Append(Frame.CreateEndStruct());
        }
Пример #3
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));
        }
Пример #4
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));
        }