public static RequestParameters DecodeRequest(ClientMessage clientMessage) { using var iterator = clientMessage.GetEnumerator(); var request = new RequestParameters(); var initialFrame = iterator.Take(); request.TargetReplicaUUID = initialFrame.Bytes.ReadGuidL(RequestTargetReplicaUUIDFieldOffset); request.Name = StringCodec.Decode(iterator); request.ReplicaTimestamps = EntryListUUIDLongCodec.Decode(iterator); return(request); }
public static ResponseParameters DecodeResponse(ClientMessage clientMessage) { using var iterator = clientMessage.GetEnumerator(); var response = new ResponseParameters(); var initialFrame = iterator.Take(); response.Value = initialFrame.Bytes.ReadLongL(ResponseValueFieldOffset); response.ReplicaCount = initialFrame.Bytes.ReadIntL(ResponseReplicaCountFieldOffset); response.ReplicaTimestamps = EntryListUUIDLongCodec.Decode(iterator); return(response); }
public static ResponseParameters DecodeResponse(ClientMessage clientMessage) { var iterator = clientMessage.GetIterator(); var response = new ResponseParameters(); var initialFrame = iterator.Next(); response.Value = DecodeLong(initialFrame.Content, ResponseValueFieldOffset); response.ReplicaCount = DecodeInt(initialFrame.Content, ResponseReplicaCountFieldOffset); response.ReplicaTimestamps = EntryListUUIDLongCodec.Decode(iterator); return(response); }