예제 #1
0
        // or should this be available for all codecs, EncodeResponse, in the testing project?
        public static ClientMessage EncodeResponse(IEnumerable <ErrorHolder> errorHolders)
        {
            var clientMessage = new ClientMessage();
            var initialFrame  = new Frame(new byte[InitialFrameSize], (FrameFlags)ClientMessageFlags.Unfragmented);

            clientMessage.Append(initialFrame);
            clientMessage.MessageType = ExceptionMessageType;
            ListMultiFrameCodec.Encode(clientMessage, errorHolders, ErrorHolderCodec.Encode);
            return(clientMessage);
        }
        public static ClientMessage EncodeResponse(ICollection <IData> response)
        {
            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);
            ListMultiFrameCodec.Encode(clientMessage, response, DataCodec.Encode);
            return(clientMessage);
        }
예제 #3
0
        public static ClientMessage EncodeResponse(ICollection <KeyValuePair <int, int> > iterationPointers, ICollection <IData> keys)
        {
            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);
            EntryListIntegerIntegerCodec.Encode(clientMessage, iterationPointers);
            ListMultiFrameCodec.Encode(clientMessage, keys, DataCodec.Encode);
            return(clientMessage);
        }
예제 #4
0
        public static ClientMessage EncodeMembersViewEvent(int version, ICollection <Hazelcast.Models.MemberInfo> memberInfos)
        {
            var clientMessage = new ClientMessage();
            var initialFrame  = new Frame(new byte[EventMembersViewInitialFrameSize], (FrameFlags)ClientMessageFlags.Unfragmented);

            initialFrame.Bytes.WriteIntL(Messaging.FrameFields.Offset.MessageType, EventMembersViewMessageType);
            initialFrame.Bytes.WriteIntL(Messaging.FrameFields.Offset.PartitionId, -1);
            initialFrame.Bytes.WriteIntL(EventMembersViewVersionFieldOffset, version);
            clientMessage.Append(initialFrame);
            clientMessage.Flags |= ClientMessageFlags.Event;
            ListMultiFrameCodec.Encode(clientMessage, memberInfos, MemberInfoCodec.Encode);
            return(clientMessage);
        }
        public static ClientMessage EncodeResponse(int readCount, ICollection <IData> items, long[] itemSeqs, long nextSeq)
        {
            var clientMessage = new ClientMessage();
            var initialFrame  = new Frame(new byte[ResponseInitialFrameSize], (FrameFlags)ClientMessageFlags.Unfragmented);

            initialFrame.Bytes.WriteIntL(Messaging.FrameFields.Offset.MessageType, ResponseMessageType);
            initialFrame.Bytes.WriteIntL(ResponseReadCountFieldOffset, readCount);
            initialFrame.Bytes.WriteLongL(ResponseNextSeqFieldOffset, nextSeq);
            clientMessage.Append(initialFrame);
            ListMultiFrameCodec.Encode(clientMessage, items, DataCodec.Encode);
            CodecUtil.EncodeNullable(clientMessage, itemSeqs, LongArrayCodec.Encode);
            return(clientMessage);
        }
 public static ClientMessage EncodeRequest(string name, ICollection<IData> values)
 {
     var clientMessage = new ClientMessage
     {
         IsRetryable = true,
         OperationName = "List.ContainsAll"
     };
     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);
     StringCodec.Encode(clientMessage, name);
     ListMultiFrameCodec.Encode(clientMessage, values, DataCodec.Encode);
     return clientMessage;
 }
        public static ClientMessage EncodeRequest(ICollection <string> names, Guid uuid)
        {
            var clientMessage = CreateForEncode();

            clientMessage.IsRetryable   = false;
            clientMessage.OperationName = "Map.FetchNearCacheInvalidationMetadata";
            var initialFrame = new Frame(new byte[RequestInitialFrameSize], UnfragmentedMessage);

            EncodeInt(initialFrame.Content, TypeFieldOffset, RequestMessageType);
            EncodeInt(initialFrame.Content, PartitionIdFieldOffset, -1);
            EncodeGuid(initialFrame.Content, RequestUuidFieldOffset, uuid);
            clientMessage.Add(initialFrame);
            ListMultiFrameCodec.Encode(clientMessage, names, StringCodec.Encode);
            return(clientMessage);
        }
예제 #8
0
        public static void Encode(ClientMessage clientMessage, Hazelcast.Models.IndexOptions indexConfig)
        {
            clientMessage.Append(Frame.CreateBeginStruct());

            var initialFrame = new Frame(new byte[InitialFrameSize]);

            initialFrame.Bytes.WriteIntL(TypeFieldOffset, indexConfig.Type);
            clientMessage.Append(initialFrame);

            CodecUtil.EncodeNullable(clientMessage, indexConfig.Name, StringCodec.Encode);
            ListMultiFrameCodec.Encode(clientMessage, indexConfig.Attributes, StringCodec.Encode);
            CodecUtil.EncodeNullable(clientMessage, indexConfig.BitmapIndexOptions, BitmapIndexOptionsCodec.Encode);

            clientMessage.Append(Frame.CreateEndStruct());
        }
        public static void Encode(ClientMessage clientMessage, Hazelcast.Config.IndexConfig indexConfig)
        {
            clientMessage.Add(BeginFrame.Copy());

            var initialFrame = new Frame(new byte[InitialFrameSize]);

            EncodeInt(initialFrame.Content, TypeFieldOffset, indexConfig.Type);
            clientMessage.Add(initialFrame);

            CodecUtil.EncodeNullable(clientMessage, indexConfig.Name, StringCodec.Encode);
            ListMultiFrameCodec.Encode(clientMessage, indexConfig.Attributes, StringCodec.Encode);
            CodecUtil.EncodeNullable(clientMessage, indexConfig.BitmapIndexOptions, BitmapIndexOptionsCodec.Encode);

            clientMessage.Add(EndFrame.Copy());
        }
        public static ClientMessage EncodeRequest(string name, ICollection <IData> values)
        {
            var clientMessage = CreateForEncode();

            clientMessage.IsRetryable   = true;
            clientMessage.OperationName = "List.ContainsAll";
            var initialFrame = new Frame(new byte[RequestInitialFrameSize], UnfragmentedMessage);

            EncodeInt(initialFrame.Content, TypeFieldOffset, RequestMessageType);
            EncodeInt(initialFrame.Content, PartitionIdFieldOffset, -1);
            clientMessage.Add(initialFrame);
            StringCodec.Encode(clientMessage, name);
            ListMultiFrameCodec.Encode(clientMessage, values, DataCodec.Encode);
            return(clientMessage);
        }
예제 #11
0
        public static void Encode(ClientMessage clientMessage, Hazelcast.Client.Protocol.ErrorHolder errorHolder)
        {
            clientMessage.Add(BeginFrame.Copy());

            var initialFrame = new Frame(new byte[InitialFrameSize]);

            EncodeInt(initialFrame.Content, ErrorCodeFieldOffset, errorHolder.ErrorCode);
            clientMessage.Add(initialFrame);

            StringCodec.Encode(clientMessage, errorHolder.ClassName);
            CodecUtil.EncodeNullable(clientMessage, errorHolder.Message, StringCodec.Encode);
            ListMultiFrameCodec.Encode(clientMessage, errorHolder.StackTraceElements, StackTraceElementCodec.Encode);

            clientMessage.Add(EndFrame.Copy());
        }
예제 #12
0
        public static void Encode(ClientMessage clientMessage, Hazelcast.Protocol.Models.ErrorHolder errorHolder)
        {
            clientMessage.Append(Frame.CreateBeginStruct());

            var initialFrame = new Frame(new byte[InitialFrameSize]);

            initialFrame.Bytes.WriteIntL(ErrorCodeFieldOffset, errorHolder.ErrorCode);
            clientMessage.Append(initialFrame);

            StringCodec.Encode(clientMessage, errorHolder.ClassName);
            CodecUtil.EncodeNullable(clientMessage, errorHolder.Message, StringCodec.Encode);
            ListMultiFrameCodec.Encode(clientMessage, errorHolder.StackTraceElements, StackTraceElementCodec.Encode);

            clientMessage.Append(Frame.CreateEndStruct());
        }
        public static ClientMessage EncodeIMapBatchInvalidationEvent(ICollection <IData> keys, ICollection <Guid> sourceUuids, ICollection <Guid> partitionUuids, ICollection <long> sequences)
        {
            var clientMessage = new ClientMessage();
            var initialFrame  = new Frame(new byte[EventIMapBatchInvalidationInitialFrameSize], (FrameFlags)ClientMessageFlags.Unfragmented);

            initialFrame.Bytes.WriteIntL(Messaging.FrameFields.Offset.MessageType, EventIMapBatchInvalidationMessageType);
            initialFrame.Bytes.WriteIntL(Messaging.FrameFields.Offset.PartitionId, -1);
            clientMessage.Append(initialFrame);
            clientMessage.Flags |= ClientMessageFlags.Event;
            ListMultiFrameCodec.Encode(clientMessage, keys, DataCodec.Encode);
            ListUUIDCodec.Encode(clientMessage, sourceUuids);
            ListUUIDCodec.Encode(clientMessage, partitionUuids);
            ListLongCodec.Encode(clientMessage, sequences);
            return(clientMessage);
        }
예제 #14
0
        public static ClientMessage EncodeRequest(string name, IData entryProcessor, ICollection <IData> keys)
        {
            var clientMessage = CreateForEncode();

            clientMessage.IsRetryable   = false;
            clientMessage.OperationName = "Map.ExecuteOnKeys";
            var initialFrame = new Frame(new byte[RequestInitialFrameSize], UnfragmentedMessage);

            EncodeInt(initialFrame.Content, TypeFieldOffset, RequestMessageType);
            EncodeInt(initialFrame.Content, PartitionIdFieldOffset, -1);
            clientMessage.Add(initialFrame);
            StringCodec.Encode(clientMessage, name);
            DataCodec.Encode(clientMessage, entryProcessor);
            ListMultiFrameCodec.Encode(clientMessage, keys, DataCodec.Encode);
            return(clientMessage);
        }
        public static ClientMessage EncodeRequest(string name, ICollection <IData> keys, bool replaceExistingValues)
        {
            var clientMessage = CreateForEncode();

            clientMessage.IsRetryable   = false;
            clientMessage.OperationName = "Map.LoadGivenKeys";
            var initialFrame = new Frame(new byte[RequestInitialFrameSize], UnfragmentedMessage);

            EncodeInt(initialFrame.Content, TypeFieldOffset, RequestMessageType);
            EncodeInt(initialFrame.Content, PartitionIdFieldOffset, -1);
            EncodeBool(initialFrame.Content, RequestReplaceExistingValuesFieldOffset, replaceExistingValues);
            clientMessage.Add(initialFrame);
            StringCodec.Encode(clientMessage, name);
            ListMultiFrameCodec.Encode(clientMessage, keys, DataCodec.Encode);
            return(clientMessage);
        }
예제 #16
0
        public static ClientMessage EncodeRequest(string name, ICollection <IData> dataList)
        {
            var clientMessage = new ClientMessage
            {
                IsRetryable   = false,
                OperationName = "Queue.CompareAndRemoveAll"
            };
            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);
            StringCodec.Encode(clientMessage, name);
            ListMultiFrameCodec.Encode(clientMessage, dataList, DataCodec.Encode);
            return(clientMessage);
        }
예제 #17
0
        public static ClientMessage EncodeRequest(ICollection <string> names, Guid uuid)
        {
            var clientMessage = new ClientMessage
            {
                IsRetryable   = false,
                OperationName = "Map.FetchNearCacheInvalidationMetadata"
            };
            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.WriteGuidL(RequestUuidFieldOffset, uuid);
            clientMessage.Append(initialFrame);
            ListMultiFrameCodec.Encode(clientMessage, names, StringCodec.Encode);
            return(clientMessage);
        }
        public static ClientMessage EncodeRequest(string name, IData entryProcessor, ICollection <IData> keys)
        {
            var clientMessage = new ClientMessage
            {
                IsRetryable   = false,
                OperationName = "Map.ExecuteOnKeys"
            };
            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);
            StringCodec.Encode(clientMessage, name);
            DataCodec.Encode(clientMessage, entryProcessor);
            ListMultiFrameCodec.Encode(clientMessage, keys, DataCodec.Encode);
            return(clientMessage);
        }
        public static ClientMessage EncodeRequest(string name, ICollection <IData> valueList, int overflowPolicy)
        {
            var clientMessage = new ClientMessage
            {
                IsRetryable   = false,
                OperationName = "Ringbuffer.AddAll"
            };
            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.WriteIntL(RequestOverflowPolicyFieldOffset, overflowPolicy);
            clientMessage.Append(initialFrame);
            StringCodec.Encode(clientMessage, name);
            ListMultiFrameCodec.Encode(clientMessage, valueList, DataCodec.Encode);
            return(clientMessage);
        }
        public static ClientMessage EncodeRequest(string name, ICollection <IData> keys, bool replaceExistingValues)
        {
            var clientMessage = new ClientMessage
            {
                IsRetryable   = false,
                OperationName = "Map.LoadGivenKeys"
            };
            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(RequestReplaceExistingValuesFieldOffset, replaceExistingValues);
            clientMessage.Append(initialFrame);
            StringCodec.Encode(clientMessage, name);
            ListMultiFrameCodec.Encode(clientMessage, keys, DataCodec.Encode);
            return(clientMessage);
        }
        public static ClientMessage EncodeRequest(string clusterName, byte[] credentials, Guid uuid, string clientType, byte serializationVersion, string clientHazelcastVersion, string clientName, ICollection <string> labels)
        {
            var clientMessage = CreateForEncode();

            clientMessage.IsRetryable   = true;
            clientMessage.OperationName = "Client.AuthenticationCustom";
            var initialFrame = new Frame(new byte[RequestInitialFrameSize], UnfragmentedMessage);

            EncodeInt(initialFrame.Content, TypeFieldOffset, RequestMessageType);
            EncodeInt(initialFrame.Content, PartitionIdFieldOffset, -1);
            EncodeGuid(initialFrame.Content, RequestUuidFieldOffset, uuid);
            EncodeByte(initialFrame.Content, RequestSerializationVersionFieldOffset, serializationVersion);
            clientMessage.Add(initialFrame);
            StringCodec.Encode(clientMessage, clusterName);
            ByteArrayCodec.Encode(clientMessage, credentials);
            StringCodec.Encode(clientMessage, clientType);
            StringCodec.Encode(clientMessage, clientHazelcastVersion);
            StringCodec.Encode(clientMessage, clientName);
            ListMultiFrameCodec.Encode(clientMessage, labels, StringCodec.Encode);
            return(clientMessage);
        }
        public static ClientMessage EncodeRequest(string clusterName, byte[] credentials, Guid uuid, string clientType, byte serializationVersion, string clientHazelcastVersion, string clientName, ICollection <string> labels)
        {
            var clientMessage = new ClientMessage
            {
                IsRetryable   = true,
                OperationName = "Client.AuthenticationCustom"
            };
            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.WriteGuidL(RequestUuidFieldOffset, uuid);
            initialFrame.Bytes.WriteByteL(RequestSerializationVersionFieldOffset, serializationVersion);
            clientMessage.Append(initialFrame);
            StringCodec.Encode(clientMessage, clusterName);
            ByteArrayCodec.Encode(clientMessage, credentials);
            StringCodec.Encode(clientMessage, clientType);
            StringCodec.Encode(clientMessage, clientHazelcastVersion);
            StringCodec.Encode(clientMessage, clientName);
            ListMultiFrameCodec.Encode(clientMessage, labels, StringCodec.Encode);
            return(clientMessage);
        }