コード例 #1
0
        public static void Encode(ClientMessage clientMessage, Hazelcast.Data.IndexConfig 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());
        }
コード例 #2
0
        public static ClientMessage EncodeRequest(string name, Hazelcast.Data.IndexConfig indexConfig)
        {
            var clientMessage = new ClientMessage
            {
                IsRetryable   = false,
                OperationName = "Map.AddIndex"
            };
            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);
            IndexConfigCodec.Encode(clientMessage, indexConfig);
            return(clientMessage);
        }