public static ResponseParameters DecodeResponse(ClientMessage clientMessage) { var iterator = clientMessage.GetIterator(); var response = new ResponseParameters(); //empty initial frame iterator.Next(); response.Response = ListMultiFrameCodec.Decode(iterator, DataCodec.Decode); response.AnchorDataList = AnchorDataListHolderCodec.Decode(iterator); return(response); }
public static RequestParameters DecodeRequest(ClientMessage clientMessage) { using var iterator = clientMessage.GetEnumerator(); var request = new RequestParameters(); var initialFrame = iterator.Take(); request.ReplaceExistingValues = initialFrame.Bytes.ReadBoolL(RequestReplaceExistingValuesFieldOffset); request.Name = StringCodec.Decode(iterator); request.Keys = ListMultiFrameCodec.Decode(iterator, DataCodec.Decode); return(request); }
public static RequestParameters DecodeRequest(ClientMessage clientMessage) { using var iterator = clientMessage.GetEnumerator(); var request = new RequestParameters(); var initialFrame = iterator.Take(); request.Index = initialFrame.Bytes.ReadIntL(RequestIndexFieldOffset); request.Name = StringCodec.Decode(iterator); request.ValueList = ListMultiFrameCodec.Decode(iterator, DataCodec.Decode); return(request); }
public static RequestParameters DecodeRequest(ClientMessage clientMessage) { using var iterator = clientMessage.GetEnumerator(); var request = new RequestParameters(); iterator.Take(); // empty initial frame request.Name = StringCodec.Decode(iterator); request.EntryProcessor = DataCodec.Decode(iterator); request.Keys = ListMultiFrameCodec.Decode(iterator, DataCodec.Decode); return(request); }
public static ResponseParameters DecodeResponse(ClientMessage clientMessage) { using var iterator = clientMessage.GetEnumerator(); var response = new ResponseParameters(); var initialFrame = iterator.Take(); response.ReadCount = initialFrame.Bytes.ReadIntL(ResponseReadCountFieldOffset); response.NextSeq = initialFrame.Bytes.ReadLongL(ResponseNextSeqFieldOffset); response.Items = ListMultiFrameCodec.Decode(iterator, DataCodec.Decode); response.ItemSeqs = CodecUtil.DecodeNullable(iterator, LongArrayCodec.Decode); return(response); }
public static ResponseParameters DecodeResponse(ClientMessage clientMessage) { var iterator = clientMessage.GetIterator(); var response = new ResponseParameters(); var initialFrame = iterator.Next(); response.ReadCount = DecodeInt(initialFrame.Content, ResponseReadCountFieldOffset); response.NextSeq = DecodeLong(initialFrame.Content, ResponseNextSeqFieldOffset); response.Items = ListMultiFrameCodec.Decode(iterator, DataCodec.Decode); response.ItemSeqs = CodecUtil.DecodeNullable(iterator, LongArrayCodec.Decode); return(response); }
public static Hazelcast.Protocol.Models.ErrorHolder Decode(IEnumerator <Frame> iterator) { // begin frame iterator.Take(); var initialFrame = iterator.Take(); var errorCode = initialFrame.Bytes.ReadIntL(ErrorCodeFieldOffset); var className = StringCodec.Decode(iterator); var message = CodecUtil.DecodeNullable(iterator, StringCodec.Decode); var stackTraceElements = ListMultiFrameCodec.Decode(iterator, StackTraceElementCodec.Decode); iterator.SkipToStructEnd(); return(new Hazelcast.Protocol.Models.ErrorHolder(errorCode, className, message, stackTraceElements)); }
public static Hazelcast.Models.IndexOptions Decode(IEnumerator <Frame> iterator) { // begin frame iterator.Take(); var initialFrame = iterator.Take(); var type = initialFrame.Bytes.ReadIntL(TypeFieldOffset); var name = CodecUtil.DecodeNullable(iterator, StringCodec.Decode); var attributes = ListMultiFrameCodec.Decode(iterator, StringCodec.Decode); var bitmapIndexOptions = CodecUtil.DecodeNullable(iterator, BitmapIndexOptionsCodec.Decode); iterator.SkipToStructEnd(); return(CustomTypeFactory.CreateIndexConfig(name, type, attributes, bitmapIndexOptions)); }
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); }
public static Hazelcast.Client.Protocol.ErrorHolder Decode(FrameIterator iterator) { // begin frame iterator.Next(); var initialFrame = iterator.Next(); var errorCode = DecodeInt(initialFrame.Content, ErrorCodeFieldOffset); var className = StringCodec.Decode(iterator); var message = CodecUtil.DecodeNullable(iterator, StringCodec.Decode); var stackTraceElements = ListMultiFrameCodec.Decode(iterator, StackTraceElementCodec.Decode); CodecUtil.FastForwardToEndFrame(iterator); return(new Hazelcast.Client.Protocol.ErrorHolder(errorCode, className, message, stackTraceElements)); }
public static Hazelcast.Config.IndexConfig Decode(FrameIterator iterator) { // begin frame iterator.Next(); var initialFrame = iterator.Next(); var type = DecodeInt(initialFrame.Content, TypeFieldOffset); var name = CodecUtil.DecodeNullable(iterator, StringCodec.Decode); var attributes = ListMultiFrameCodec.Decode(iterator, StringCodec.Decode); var bitmapIndexOptions = CodecUtil.DecodeNullable(iterator, BitmapIndexOptionsCodec.Decode); CodecUtil.FastForwardToEndFrame(iterator); return(CustomTypeFactory.CreateIndexConfig(name, type, attributes, bitmapIndexOptions)); }
public static ValueTask HandleEventAsync(ClientMessage clientMessage, Func <int, IList <Hazelcast.Models.MemberInfo>, object, ValueTask> handleMembersViewEventAsync, Func <int, IList <KeyValuePair <Guid, IList <int> > >, object, ValueTask> handlePartitionsViewEventAsync, object state, ILoggerFactory loggerFactory) { using var iterator = clientMessage.GetEnumerator(); var messageType = clientMessage.MessageType; if (messageType == EventMembersViewMessageType) { var initialFrame = iterator.Take(); var version = initialFrame.Bytes.ReadIntL(EventMembersViewVersionFieldOffset); var memberInfos = ListMultiFrameCodec.Decode(iterator, MemberInfoCodec.Decode); return(handleMembersViewEventAsync(version, memberInfos, state)); } if (messageType == EventPartitionsViewMessageType) { var initialFrame = iterator.Take(); var version = initialFrame.Bytes.ReadIntL(EventPartitionsViewVersionFieldOffset); var partitions = EntryListUUIDListIntegerCodec.Decode(iterator); return(handlePartitionsViewEventAsync(version, partitions, state)); } loggerFactory.CreateLogger(typeof(EventHandler)).LogDebug("Unknown message type received on event handler :" + messageType); return(default);
public static void HandleEvent(ClientMessage clientMessage, HandleMembersViewEvent handleMembersViewEvent, HandlePartitionsViewEvent handlePartitionsViewEvent) { var messageType = clientMessage.MessageType; var iterator = clientMessage.GetIterator(); if (messageType == EventMembersViewMessageType) { var initialFrame = iterator.Next(); int version = DecodeInt(initialFrame.Content, EventMembersViewVersionFieldOffset); IList <Hazelcast.Core.MemberInfo> memberInfos = ListMultiFrameCodec.Decode(iterator, MemberInfoCodec.Decode); handleMembersViewEvent(version, memberInfos); return; } if (messageType == EventPartitionsViewMessageType) { var initialFrame = iterator.Next(); int version = DecodeInt(initialFrame.Content, EventPartitionsViewVersionFieldOffset); IList <KeyValuePair <Guid, IList <int> > > partitions = EntryListUUIDListIntegerCodec.Decode(iterator); handlePartitionsViewEvent(version, partitions); return; } Logger.GetLogger(typeof(EventHandler)).Finest("Unknown message type received on event handler :" + messageType); }