コード例 #1
0
        public static ResponseParameters DecodeResponse(ClientMessage clientMessage)
        {
            using var iterator = clientMessage.GetEnumerator();
            var response = new ResponseParameters();

            iterator.Take(); // empty initial frame
            response.GroupId = RaftGroupIdCodec.Decode(iterator);
            return(response);
        }
コード例 #2
0
        public static RequestParameters DecodeRequest(ClientMessage clientMessage)
        {
            using var iterator = clientMessage.GetEnumerator();
            var request = new RequestParameters();

            iterator.Take(); // empty initial frame
            request.GroupId = RaftGroupIdCodec.Decode(iterator);
            request.Name    = StringCodec.Decode(iterator);
            return(request);
        }
コード例 #3
0
        public static ClientMessage EncodeResponse(Hazelcast.CP.CPGroupId groupId)
        {
            var clientMessage = new ClientMessage();
            var initialFrame  = new Frame(new byte[ResponseInitialFrameSize], (FrameFlags)ClientMessageFlags.Unfragmented);

            initialFrame.Bytes.WriteIntL(Messaging.FrameFields.Offset.MessageType, ResponseMessageType);
            clientMessage.Append(initialFrame);
            RaftGroupIdCodec.Encode(clientMessage, groupId);
            return(clientMessage);
        }
コード例 #4
0
        public static RequestParameters DecodeRequest(ClientMessage clientMessage)
        {
            using var iterator = clientMessage.GetEnumerator();
            var request      = new RequestParameters();
            var initialFrame = iterator.Take();

            request.NewValue = initialFrame.Bytes.ReadLongL(RequestNewValueFieldOffset);
            request.GroupId  = RaftGroupIdCodec.Decode(iterator);
            request.Name     = StringCodec.Decode(iterator);
            return(request);
        }
コード例 #5
0
        public static ClientMessage EncodeRequest(Hazelcast.CP.CPGroupId groupId, string name)
        {
            var clientMessage = new ClientMessage
            {
                IsRetryable   = true,
                OperationName = "AtomicRef.Get"
            };
            var initialFrame = new Frame(new byte[RequestInitialFrameSize], (FrameFlags)ClientMessageFlags.Unfragmented);

            initialFrame.Bytes.WriteIntL(Messaging.FrameFields.Offset.MessageType, RequestMessageType);
            initialFrame.Bytes.WriteIntL(Messaging.FrameFields.Offset.PartitionId, -1);
            clientMessage.Append(initialFrame);
            RaftGroupIdCodec.Encode(clientMessage, groupId);
            StringCodec.Encode(clientMessage, name);
            return(clientMessage);
        }
コード例 #6
0
        public static ClientMessage EncodeRequest(Hazelcast.CP.CPGroupId groupId, string name, IData newValue, bool returnOldValue)
        {
            var clientMessage = new ClientMessage
            {
                IsRetryable   = false,
                OperationName = "AtomicRef.Set"
            };
            var initialFrame = new Frame(new byte[RequestInitialFrameSize], (FrameFlags)ClientMessageFlags.Unfragmented);

            initialFrame.Bytes.WriteIntL(Messaging.FrameFields.Offset.MessageType, RequestMessageType);
            initialFrame.Bytes.WriteIntL(Messaging.FrameFields.Offset.PartitionId, -1);
            initialFrame.Bytes.WriteBoolL(RequestReturnOldValueFieldOffset, returnOldValue);
            clientMessage.Append(initialFrame);
            RaftGroupIdCodec.Encode(clientMessage, groupId);
            StringCodec.Encode(clientMessage, name);
            CodecUtil.EncodeNullable(clientMessage, newValue, DataCodec.Encode);
            return(clientMessage);
        }
        public static ClientMessage EncodeRequest(Hazelcast.CP.CPGroupId groupId, string name, long expected, long updated)
        {
            var clientMessage = new ClientMessage
            {
                IsRetryable   = false,
                OperationName = "AtomicLong.CompareAndSet"
            };
            var initialFrame = new Frame(new byte[RequestInitialFrameSize], (FrameFlags)ClientMessageFlags.Unfragmented);

            initialFrame.Bytes.WriteIntL(Messaging.FrameFields.Offset.MessageType, RequestMessageType);
            initialFrame.Bytes.WriteIntL(Messaging.FrameFields.Offset.PartitionId, -1);
            initialFrame.Bytes.WriteLongL(RequestExpectedFieldOffset, expected);
            initialFrame.Bytes.WriteLongL(RequestUpdatedFieldOffset, updated);
            clientMessage.Append(initialFrame);
            RaftGroupIdCodec.Encode(clientMessage, groupId);
            StringCodec.Encode(clientMessage, name);
            return(clientMessage);
        }