public static ResponseParameters DecodeResponse(ClientMessage clientMessage)
        {
            using var iterator = clientMessage.GetEnumerator();
            var response = new ResponseParameters();

            iterator.Take(); // empty initial frame
            response.Response = CodecUtil.DecodeNullable(iterator, DataCodec.Decode);
            return(response);
        }
Exemple #2
0
        public static ResponseParameters DecodeResponse(ClientMessage clientMessage)
        {
            var iterator     = clientMessage.GetIterator();
            var response     = new ResponseParameters();
            var initialFrame = iterator.Next();

            response.MaxIdle  = DecodeLong(initialFrame.Content, ResponseMaxIdleFieldOffset);
            response.Response = CodecUtil.DecodeNullable(iterator, SimpleEntryViewCodec.Decode);
            return(response);
        }
        public static ResponseParameters DecodeResponse(ClientMessage clientMessage)
        {
            using var iterator = clientMessage.GetEnumerator();
            var response     = new ResponseParameters();
            var initialFrame = iterator.Take();

            response.MaxIdle  = initialFrame.Bytes.ReadLongL(ResponseMaxIdleFieldOffset);
            response.Response = CodecUtil.DecodeNullable(iterator, SimpleEntryViewCodec.Decode);
            return(response);
        }
        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);
            request.Value   = CodecUtil.DecodeNullable(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);
        }
Exemple #6
0
        public static RequestParameters DecodeRequest(ClientMessage clientMessage)
        {
            using var iterator = clientMessage.GetEnumerator();
            var request      = new RequestParameters();
            var initialFrame = iterator.Take();

            request.ReturnOldValue = initialFrame.Bytes.ReadBoolL(RequestReturnOldValueFieldOffset);
            request.GroupId        = RaftGroupIdCodec.Decode(iterator);
            request.Name           = StringCodec.Decode(iterator);
            request.NewValue       = CodecUtil.DecodeNullable(iterator, DataCodec.Decode);
            return(request);
        }
Exemple #7
0
        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 RequestParameters DecodeRequest(ClientMessage clientMessage)
        {
            using var iterator = clientMessage.GetEnumerator();
            var request      = new RequestParameters();
            var initialFrame = iterator.Take();

            request.StartSequence = initialFrame.Bytes.ReadLongL(RequestStartSequenceFieldOffset);
            request.MinCount      = initialFrame.Bytes.ReadIntL(RequestMinCountFieldOffset);
            request.MaxCount      = initialFrame.Bytes.ReadIntL(RequestMaxCountFieldOffset);
            request.Name          = StringCodec.Decode(iterator);
            request.Filter        = CodecUtil.DecodeNullable(iterator, DataCodec.Decode);
            return(request);
        }
        public static Hazelcast.Models.EndpointQualifier Decode(IEnumerator <Frame> iterator)
        {
            // begin frame
            iterator.Take();

            var initialFrame = iterator.Take();
            var type         = initialFrame.Bytes.ReadIntL(TypeFieldOffset);

            var identifier = CodecUtil.DecodeNullable(iterator, StringCodec.Decode);

            iterator.SkipToStructEnd();
            return(CustomTypeFactory.CreateEndpointQualifier(type, identifier));
        }
        public static Hazelcast.Exceptions.StackTraceElement Decode(IEnumerator <Frame> iterator)
        {
            // begin frame
            iterator.Take();

            var initialFrame = iterator.Take();
            var lineNumber   = initialFrame.Bytes.ReadIntL(LineNumberFieldOffset);

            var className  = StringCodec.Decode(iterator);
            var methodName = StringCodec.Decode(iterator);
            var fileName   = CodecUtil.DecodeNullable(iterator, StringCodec.Decode);

            iterator.SkipToStructEnd();
            return(new Hazelcast.Exceptions.StackTraceElement(className, methodName, fileName, lineNumber));
        }
        public static ValueTask HandleEventAsync(ClientMessage clientMessage, Func <IData, Guid, int, object, ValueTask> handleItemEventAsync, object state, ILoggerFactory loggerFactory)
        {
            using var iterator = clientMessage.GetEnumerator();
            var messageType = clientMessage.MessageType;

            if (messageType == EventItemMessageType)
            {
                var initialFrame = iterator.Take();
                var uuid         = initialFrame.Bytes.ReadGuidL(EventItemUuidFieldOffset);
                var eventType    = initialFrame.Bytes.ReadIntL(EventItemEventTypeFieldOffset);
                var item         = CodecUtil.DecodeNullable(iterator, DataCodec.Decode);
                return(handleItemEventAsync(item, uuid, eventType, state));
            }
            loggerFactory.CreateLogger(typeof(EventHandler)).LogDebug("Unknown message type received on event handler :" + messageType);
            return(default);
Exemple #12
0
        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));
        }
Exemple #13
0
        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 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 void HandleEvent(ClientMessage clientMessage, HandleItemEvent handleItemEvent)
            {
                var messageType = clientMessage.MessageType;
                var iterator    = clientMessage.GetIterator();

                if (messageType == EventItemMessageType)
                {
                    var   initialFrame = iterator.Next();
                    Guid  uuid         = DecodeGuid(initialFrame.Content, EventItemUuidFieldOffset);
                    int   eventType    = DecodeInt(initialFrame.Content, EventItemEventTypeFieldOffset);
                    IData item         = CodecUtil.DecodeNullable(iterator, DataCodec.Decode);
                    handleItemEvent(item, uuid, eventType);
                    return;
                }
                Logger.GetLogger(typeof(EventHandler)).Finest("Unknown message type received on event handler :" + messageType);
            }
        public static Hazelcast.Util.StackTraceElement Decode(FrameIterator iterator)
        {
            // begin frame
            iterator.Next();

            var initialFrame = iterator.Next();
            var lineNumber   = DecodeInt(initialFrame.Content, LineNumberFieldOffset);

            var className  = StringCodec.Decode(iterator);
            var methodName = StringCodec.Decode(iterator);
            var fileName   = CodecUtil.DecodeNullable(iterator, StringCodec.Decode);

            CodecUtil.FastForwardToEndFrame(iterator);

            return(new Hazelcast.Util.StackTraceElement(className, methodName, fileName, lineNumber));
        }
        public static ResponseParameters DecodeResponse(ClientMessage clientMessage)
        {
            using var iterator = clientMessage.GetEnumerator();
            var response     = new ResponseParameters();
            var initialFrame = iterator.Take();

            response.Status                 = initialFrame.Bytes.ReadByteL(ResponseStatusFieldOffset);
            response.MemberUuid             = initialFrame.Bytes.ReadGuidL(ResponseMemberUuidFieldOffset);
            response.SerializationVersion   = initialFrame.Bytes.ReadByteL(ResponseSerializationVersionFieldOffset);
            response.PartitionCount         = initialFrame.Bytes.ReadIntL(ResponsePartitionCountFieldOffset);
            response.ClusterId              = initialFrame.Bytes.ReadGuidL(ResponseClusterIdFieldOffset);
            response.FailoverSupported      = initialFrame.Bytes.ReadBoolL(ResponseFailoverSupportedFieldOffset);
            response.Address                = CodecUtil.DecodeNullable(iterator, AddressCodec.Decode);
            response.ServerHazelcastVersion = StringCodec.Decode(iterator);
            return(response);
        }
Exemple #18
0
        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));
        }
Exemple #19
0
        public static ResponseParameters DecodeResponse(ClientMessage clientMessage)
        {
            var iterator     = clientMessage.GetIterator();
            var response     = new ResponseParameters();
            var initialFrame = iterator.Next();

            response.Status                 = DecodeByte(initialFrame.Content, ResponseStatusFieldOffset);
            response.MemberUuid             = DecodeGuid(initialFrame.Content, ResponseMemberUuidFieldOffset);
            response.SerializationVersion   = DecodeByte(initialFrame.Content, ResponseSerializationVersionFieldOffset);
            response.PartitionCount         = DecodeInt(initialFrame.Content, ResponsePartitionCountFieldOffset);
            response.ClusterId              = DecodeGuid(initialFrame.Content, ResponseClusterIdFieldOffset);
            response.FailoverSupported      = DecodeBool(initialFrame.Content, ResponseFailoverSupportedFieldOffset);
            response.Address                = CodecUtil.DecodeNullable(iterator, AddressCodec.Decode);
            response.ServerHazelcastVersion = StringCodec.Decode(iterator);
            return(response);
        }
        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.Username               = CodecUtil.DecodeNullable(iterator, StringCodec.Decode);
            request.Password               = CodecUtil.DecodeNullable(iterator, StringCodec.Decode);
            request.ClientType             = StringCodec.Decode(iterator);
            request.ClientHazelcastVersion = StringCodec.Decode(iterator);
            request.ClientName             = StringCodec.Decode(iterator);
            request.Labels = ListMultiFrameCodec.Decode(iterator, StringCodec.Decode);
            return(request);
        }
Exemple #21
0
        public static Hazelcast.Protocol.Models.PagingPredicateHolder Decode(IEnumerator <Frame> iterator)
        {
            // begin frame
            iterator.Take();

            var initialFrame = iterator.Take();
            var pageSize     = initialFrame.Bytes.ReadIntL(PageSizeFieldOffset);

            var page                 = initialFrame.Bytes.ReadIntL(PageFieldOffset);
            var iterationTypeId      = initialFrame.Bytes.ReadByteL(IterationTypeIdFieldOffset);
            var anchorDataListHolder = AnchorDataListHolderCodec.Decode(iterator);
            var predicateData        = CodecUtil.DecodeNullable(iterator, DataCodec.Decode);
            var comparatorData       = CodecUtil.DecodeNullable(iterator, DataCodec.Decode);
            var partitionKeyData     = CodecUtil.DecodeNullable(iterator, DataCodec.Decode);

            iterator.SkipToStructEnd();
            return(new Hazelcast.Protocol.Models.PagingPredicateHolder(anchorDataListHolder, predicateData, comparatorData, pageSize, page, iterationTypeId, partitionKeyData));
        }
        public static Hazelcast.Client.Protocol.PagingPredicateHolder Decode(FrameIterator iterator)
        {
            // begin frame
            iterator.Next();

            var initialFrame    = iterator.Next();
            var pageSize        = DecodeInt(initialFrame.Content, PageSizeFieldOffset);
            var page            = DecodeInt(initialFrame.Content, PageFieldOffset);
            var iterationTypeId = DecodeByte(initialFrame.Content, IterationTypeIdFieldOffset);

            var anchorDataListHolder = AnchorDataListHolderCodec.Decode(iterator);
            var predicateData        = CodecUtil.DecodeNullable(iterator, DataCodec.Decode);
            var comparatorData       = CodecUtil.DecodeNullable(iterator, DataCodec.Decode);
            var partitionKeyData     = CodecUtil.DecodeNullable(iterator, DataCodec.Decode);

            CodecUtil.FastForwardToEndFrame(iterator);

            return(new Hazelcast.Client.Protocol.PagingPredicateHolder(anchorDataListHolder, predicateData, comparatorData, pageSize, page, iterationTypeId, partitionKeyData));
        }
        public static ValueTask HandleEventAsync(ClientMessage clientMessage, Func <IData, IData, IData, IData, int, Guid, int, object, ValueTask> handleEntryEventAsync, object state, ILoggerFactory loggerFactory)
        {
            using var iterator = clientMessage.GetEnumerator();
            var messageType = clientMessage.MessageType;

            if (messageType == EventEntryMessageType)
            {
                var initialFrame            = iterator.Take();
                var eventType               = initialFrame.Bytes.ReadIntL(EventEntryEventTypeFieldOffset);
                var uuid                    = initialFrame.Bytes.ReadGuidL(EventEntryUuidFieldOffset);
                var numberOfAffectedEntries = initialFrame.Bytes.ReadIntL(EventEntryNumberOfAffectedEntriesFieldOffset);
                var key          = CodecUtil.DecodeNullable(iterator, DataCodec.Decode);
                var @value       = CodecUtil.DecodeNullable(iterator, DataCodec.Decode);
                var oldValue     = CodecUtil.DecodeNullable(iterator, DataCodec.Decode);
                var mergingValue = CodecUtil.DecodeNullable(iterator, DataCodec.Decode);
                return(handleEntryEventAsync(key, @value, oldValue, mergingValue, eventType, uuid, numberOfAffectedEntries, state));
            }
            loggerFactory.CreateLogger(typeof(EventHandler)).LogDebug("Unknown message type received on event handler :" + messageType);
            return(default);
Exemple #24
0
            public static void HandleEvent(ClientMessage clientMessage, HandleEntryEvent handleEntryEvent)
            {
                var messageType = clientMessage.MessageType;
                var iterator    = clientMessage.GetIterator();

                if (messageType == EventEntryMessageType)
                {
                    var   initialFrame            = iterator.Next();
                    int   eventType               = DecodeInt(initialFrame.Content, EventEntryEventTypeFieldOffset);
                    Guid  uuid                    = DecodeGuid(initialFrame.Content, EventEntryUuidFieldOffset);
                    int   numberOfAffectedEntries = DecodeInt(initialFrame.Content, EventEntryNumberOfAffectedEntriesFieldOffset);
                    IData key          = CodecUtil.DecodeNullable(iterator, DataCodec.Decode);
                    IData @value       = CodecUtil.DecodeNullable(iterator, DataCodec.Decode);
                    IData oldValue     = CodecUtil.DecodeNullable(iterator, DataCodec.Decode);
                    IData mergingValue = CodecUtil.DecodeNullable(iterator, DataCodec.Decode);
                    handleEntryEvent(key, @value, oldValue, mergingValue, eventType, uuid, numberOfAffectedEntries);
                    return;
                }
                Logger.GetLogger(typeof(EventHandler)).Finest("Unknown message type received on event handler :" + messageType);
            }