예제 #1
0
        public static RequestParameters DecodeRequest(ClientMessage clientMessage)
        {
            using var iterator = clientMessage.GetEnumerator();
            var request      = new RequestParameters();
            var initialFrame = iterator.Take();

            request.Timestamp        = initialFrame.Bytes.ReadLongL(RequestTimestampFieldOffset);
            request.ClientAttributes = StringCodec.Decode(iterator);
            request.MetricsBlob      = ByteArrayCodec.Decode(iterator);
            return(request);
        }
        public static RequestParameters DecodeRequest(ClientMessage clientMessage)
        {
            using var iterator = clientMessage.GetEnumerator();
            var request      = new RequestParameters();
            var initialFrame = iterator.Take();

            request.Uuid = initialFrame.Bytes.ReadGuidL(RequestUuidFieldOffset);
            request.SerializationVersion   = initialFrame.Bytes.ReadByteL(RequestSerializationVersionFieldOffset);
            request.ClusterName            = StringCodec.Decode(iterator);
            request.Credentials            = ByteArrayCodec.Decode(iterator);
            request.ClientType             = StringCodec.Decode(iterator);
            request.ClientHazelcastVersion = StringCodec.Decode(iterator);
            request.ClientName             = StringCodec.Decode(iterator);
            request.Labels = ListMultiFrameCodec.Decode(iterator, StringCodec.Decode);
            return(request);
        }