예제 #1
0
 private void SendConnectionMessage(Controller controller, string username, string password, string servername, string port)
 {
     ClientMessage message = new ClientMessage("connect");
     message.Add("server", servername);
     message.Add("port", port);
     message.Add("username", username);
     message.Add("password", password);
     controller.message_pump.process_message(message);
 }
        public static void Encode(ClientMessage clientMessage, Hazelcast.Client.Protocol.AnchorDataListHolder anchorDataListHolder)
        {
            clientMessage.Add(BeginFrame.Copy());

            ListIntegerCodec.Encode(clientMessage, anchorDataListHolder.AnchorPageList);
            EntryListCodec.Encode(clientMessage, anchorDataListHolder.AnchorDataList, DataCodec.Encode, DataCodec.EncodeNullable);

            clientMessage.Add(EndFrame.Copy());
        }
        public static void Encode(ClientMessage clientMessage, Hazelcast.Client.DistributedObjectInfo distributedObjectInfo)
        {
            clientMessage.Add(BeginFrame.Copy());

            StringCodec.Encode(clientMessage, distributedObjectInfo.ServiceName);
            StringCodec.Encode(clientMessage, distributedObjectInfo.Name);

            clientMessage.Add(EndFrame.Copy());
        }
        public static void Encode <T>(ClientMessage clientMessage, IEnumerable <T> collection, Action <ClientMessage, T> encodeFunction)
        {
            clientMessage.Add(BeginFrame.Copy());

            foreach (var item in collection)
            {
                encodeFunction(clientMessage, item);
            }

            clientMessage.Add(EndFrame.Copy());
        }
예제 #5
0
 public static void EncodeNullable(ClientMessage clientMessage, IData data)
 {
     if (data == null)
     {
         clientMessage.Add(ClientMessage.NullFrame.Copy());
     }
     else
     {
         clientMessage.Add(new ClientMessage.Frame(data.ToByteArray()));
     }
 }
예제 #6
0
        public static void Encode <TKey, TValue>(ClientMessage clientMessage, IDictionary <TKey, TValue> map, Action <ClientMessage, TKey> encodeKey, Action <ClientMessage, TValue> encodeValue)
        {
            clientMessage.Add(BeginFrame.Copy());

            foreach (var kvp in map)
            {
                encodeKey(clientMessage, kvp.Key);
                encodeValue(clientMessage, kvp.Value);
            }

            clientMessage.Add(EndFrame.Copy());
        }
        public static void Encode(ClientMessage clientMessage, ICollection <KeyValuePair <Guid, ICollection <int> > > collection)
        {
            var keyList = new List <Guid>(collection.Count);

            clientMessage.Add(BeginFrame.Copy());
            foreach (var kvp in collection)
            {
                keyList.Add(kvp.Key);
                ListIntegerCodec.Encode(clientMessage, kvp.Value);
            }
            clientMessage.Add(EndFrame.Copy());
            ListUUIDCodec.Encode(clientMessage, keyList);
        }
        public static void Encode(ClientMessage clientMessage, Hazelcast.IO.Address address)
        {
            clientMessage.Add(BeginFrame.Copy());

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

            EncodeInt(initialFrame.Content, PortFieldOffset, address.Port);
            clientMessage.Add(initialFrame);

            StringCodec.Encode(clientMessage, address.Host);

            clientMessage.Add(EndFrame.Copy());
        }
예제 #9
0
        public static void Encode(ClientMessage clientMessage, Hazelcast.Core.MemberVersion memberVersion)
        {
            clientMessage.Add(BeginFrame.Copy());

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

            EncodeByte(initialFrame.Content, MajorFieldOffset, memberVersion.Major);
            EncodeByte(initialFrame.Content, MinorFieldOffset, memberVersion.Minor);
            EncodeByte(initialFrame.Content, PatchFieldOffset, memberVersion.Patch);
            clientMessage.Add(initialFrame);

            clientMessage.Add(EndFrame.Copy());
        }
예제 #10
0
        public static void Encode(ClientMessage clientMessage, Hazelcast.Config.BitmapIndexOptions bitmapIndexOptions)
        {
            clientMessage.Add(BeginFrame.Copy());

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

            EncodeInt(initialFrame.Content, UniqueKeyTransformationFieldOffset, bitmapIndexOptions.UniqueKeyTransformation);
            clientMessage.Add(initialFrame);

            StringCodec.Encode(clientMessage, bitmapIndexOptions.UniqueKey);

            clientMessage.Add(EndFrame.Copy());
        }
        public static void Encode <TKey, TValue>(ClientMessage clientMessage, IEnumerable <KeyValuePair <TKey, TValue> > collection,
                                                 Action <ClientMessage, TKey> encodeKeyFunc,
                                                 Action <ClientMessage, TValue> encodeValueFunc)
        {
            clientMessage.Add(BeginFrame.Copy());

            foreach (var kvp in collection)
            {
                encodeKeyFunc(clientMessage, kvp.Key);
                encodeValueFunc(clientMessage, kvp.Value);
            }

            clientMessage.Add(EndFrame.Copy());
        }
예제 #12
0
        public static void Encode(ClientMessage clientMessage, IEnumerable <KeyValuePair <long, byte[]> > collection)
        {
            var valueList = new List <long>();

            clientMessage.Add(BeginFrame.Copy());

            foreach (var kvp in collection)
            {
                valueList.Add(kvp.Key);
                ByteArrayCodec.Encode(clientMessage, kvp.Value);
            }

            clientMessage.Add(EndFrame);
            ListLongCodec.Encode(clientMessage, valueList);
        }
        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 void Encode(ClientMessage clientMessage, Hazelcast.Util.StackTraceElement stackTraceElement)
        {
            clientMessage.Add(BeginFrame.Copy());

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

            EncodeInt(initialFrame.Content, LineNumberFieldOffset, stackTraceElement.LineNumber);
            clientMessage.Add(initialFrame);

            StringCodec.Encode(clientMessage, stackTraceElement.ClassName);
            StringCodec.Encode(clientMessage, stackTraceElement.MethodName);
            CodecUtil.EncodeNullable(clientMessage, stackTraceElement.FileName, StringCodec.Encode);

            clientMessage.Add(EndFrame.Copy());
        }
예제 #15
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());
        }
예제 #16
0
        public static void Encode(ClientMessage clientMessage, Hazelcast.Core.MemberInfo memberInfo)
        {
            clientMessage.Add(BeginFrame.Copy());

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

            EncodeGuid(initialFrame.Content, UuidFieldOffset, memberInfo.Uuid);
            EncodeBool(initialFrame.Content, LiteMemberFieldOffset, memberInfo.IsLiteMember);
            clientMessage.Add(initialFrame);

            AddressCodec.Encode(clientMessage, memberInfo.Address);
            MapCodec.Encode(clientMessage, memberInfo.Attributes, StringCodec.Encode, StringCodec.Encode);
            MemberVersionCodec.Encode(clientMessage, memberInfo.Version);

            clientMessage.Add(EndFrame.Copy());
        }
        public static void Encode(ClientMessage clientMessage, Hazelcast.Client.Protocol.PagingPredicateHolder pagingPredicateHolder)
        {
            clientMessage.Add(BeginFrame.Copy());

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

            EncodeInt(initialFrame.Content, PageSizeFieldOffset, pagingPredicateHolder.PageSize);
            EncodeInt(initialFrame.Content, PageFieldOffset, pagingPredicateHolder.Page);
            EncodeByte(initialFrame.Content, IterationTypeIdFieldOffset, pagingPredicateHolder.IterationTypeId);
            clientMessage.Add(initialFrame);

            AnchorDataListHolderCodec.Encode(clientMessage, pagingPredicateHolder.AnchorDataListHolder);
            CodecUtil.EncodeNullable(clientMessage, pagingPredicateHolder.PredicateData, DataCodec.Encode);
            CodecUtil.EncodeNullable(clientMessage, pagingPredicateHolder.ComparatorData, DataCodec.Encode);
            CodecUtil.EncodeNullable(clientMessage, pagingPredicateHolder.PartitionKeyData, DataCodec.Encode);

            clientMessage.Add(EndFrame.Copy());
        }
        public static void EncodeContainsNullable <T>(ClientMessage clientMessage, IEnumerable <T> collection, Action <ClientMessage, T> encodeFunction)
        {
            clientMessage.Add(BeginFrame.Copy());

            foreach (var item in collection)
            {
                if (item == null)
                {
                    clientMessage.Add(NullFrame.Copy());
                }
                else
                {
                    encodeFunction(clientMessage, item);
                }
            }

            clientMessage.Add(EndFrame.Copy());
        }
 public static void EncodeNullable <T>(ClientMessage clientMessage, IEnumerable <T> collection, Action <ClientMessage, T> encodeFunction)
 {
     if (collection == null)
     {
         clientMessage.Add(NullFrame.Copy());
     }
     else
     {
         Encode(clientMessage, collection, encodeFunction);
     }
 }
예제 #20
0
 public static void EncodeNullable <T>(ClientMessage clientMessage, T value, Action <ClientMessage, T> encode)
 {
     if (value == null)
     {
         clientMessage.Add(ClientMessage.NullFrame.Copy());
     }
     else
     {
         encode(clientMessage, value);
     }
 }
예제 #21
0
 public static void EncodeNullable <TKey, TValue>(ClientMessage clientMessage, IDictionary <TKey, TValue> map, Action <ClientMessage, TKey> encodeKey, Action <ClientMessage, TValue> encodeValue)
 {
     if (map == null)
     {
         clientMessage.Add(NullFrame.Copy());
     }
     else
     {
         Encode(clientMessage, map, encodeKey, encodeValue);
     }
 }
        public static void Encode(ClientMessage clientMessage, long[] collection)
        {
            var itemCount = collection.Length;
            var frame     = new Frame(new byte[itemCount * LongSizeInBytes]);

            for (var i = 0; i < collection.Length; i++)
            {
                EncodeLong(frame.Content, i * LongSizeInBytes, collection[i]);
            }

            clientMessage.Add(frame);
        }
예제 #23
0
        public static void Encode(ClientMessage clientMessage, IEnumerable <KeyValuePair <Guid, long> > collection)
        {
            var itemCount = collection.Count();
            var frame     = new Frame(new byte[itemCount * EntrySizeInBytes]);
            var i         = 0;

            foreach (var kvp in collection)
            {
                EncodeGuid(frame.Content, i * EntrySizeInBytes, kvp.Key);
                EncodeLong(frame.Content, i * EntrySizeInBytes + GuidSizeInBytes, kvp.Value);
                i++;
            }
            clientMessage.Add(frame);
        }
예제 #24
0
        public static void Encode(ClientMessage clientMessage, Hazelcast.Map.SimpleEntryView <IData, IData> simpleEntryView)
        {
            clientMessage.Add(BeginFrame.Copy());

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

            EncodeLong(initialFrame.Content, CostFieldOffset, simpleEntryView.Cost);
            EncodeLong(initialFrame.Content, CreationTimeFieldOffset, simpleEntryView.CreationTime);
            EncodeLong(initialFrame.Content, ExpirationTimeFieldOffset, simpleEntryView.ExpirationTime);
            EncodeLong(initialFrame.Content, HitsFieldOffset, simpleEntryView.Hits);
            EncodeLong(initialFrame.Content, LastAccessTimeFieldOffset, simpleEntryView.LastAccessTime);
            EncodeLong(initialFrame.Content, LastStoredTimeFieldOffset, simpleEntryView.LastStoredTime);
            EncodeLong(initialFrame.Content, LastUpdateTimeFieldOffset, simpleEntryView.LastUpdateTime);
            EncodeLong(initialFrame.Content, VersionFieldOffset, simpleEntryView.Version);
            EncodeLong(initialFrame.Content, TtlFieldOffset, simpleEntryView.Ttl);
            EncodeLong(initialFrame.Content, MaxIdleFieldOffset, simpleEntryView.MaxIdle);
            clientMessage.Add(initialFrame);

            DataCodec.Encode(clientMessage, simpleEntryView.Key);
            DataCodec.Encode(clientMessage, simpleEntryView.Value);

            clientMessage.Add(EndFrame.Copy());
        }
        public static void Encode(ClientMessage clientMessage, ICollection <KeyValuePair <int, int> > collection)
        {
            var itemCount = collection.Count;
            var frame     = new Frame(new byte[itemCount * EntrySizeInBytes]);
            var i         = 0;

            foreach (var kvp in collection)
            {
                EncodeInt(frame.Content, i * EntrySizeInBytes, kvp.Key);
                EncodeInt(frame.Content, i * EntrySizeInBytes + IntSizeInBytes, kvp.Value);
                i++;
            }
            clientMessage.Add(frame);
        }
        public static void Encode(ClientMessage clientMessage, ICollection <int> collection)
        {
            var itemCount = collection.Count;
            var frame     = new Frame(new byte[itemCount * IntSizeInBytes]);

            var i = 0;

            foreach (var value in collection)
            {
                EncodeInt(frame.Content, i * IntSizeInBytes, value);
                i++;
            }

            clientMessage.Add(frame);
        }
예제 #27
0
        public static void Encode(ClientMessage clientMessage, IEnumerable <long> collection)
        {
            var itemCount = collection.Count();
            var frame     = new ClientMessage.Frame(new byte[itemCount * Bits.LongSizeInBytes]);

            var i = 0;

            foreach (var value in collection)
            {
                FixedSizeTypesCodec.EncodeLong(frame.Content, i * Bits.LongSizeInBytes, value);
                i++;
            }

            clientMessage.Add(frame);
        }
예제 #28
0
        public static void Encode(ClientMessage clientMessage, IEnumerable <Guid> collection)
        {
            var itemCount = collection.Count();
            var frame     = new Frame(new byte[itemCount * GuidSizeInBytes]);

            var i = 0;

            foreach (var guid in collection)
            {
                EncodeGuid(frame.Content, i * GuidSizeInBytes, guid);
                i++;
            }

            clientMessage.Add(frame);
        }
        private bool ReadFrame(ByteBuffer src)
        {
            // init internal buffer
            var remaining = src.Remaining();

            if (remaining < ClientMessage.SizeOfFrameLengthAndFlags)
            {
                // we don't have even the frame length and flags ready
                return(false);
            }
            if (_readOffset == InitialOffset)
            {
                var frameLength = Bits.ReadIntL(src.Array(), src.Position);
                if (frameLength < ClientMessage.SizeOfFrameLengthAndFlags)
                {
                    throw new Exception(
                              $"The client message frame reported illegal length ({frameLength} bytes). Minimal length is the size of frame header ({ClientMessage.SizeOfFrameLengthAndFlags} bytes).");
                }
                src.Position += Bits.IntSizeInBytes;
                var flags = Bits.ReadShortL(src.Array(), src.Position) & IntMask;
                src.Position += Bits.ShortSizeInBytes;

                var size  = frameLength - ClientMessage.SizeOfFrameLengthAndFlags;
                var bytes = new byte[size];
                var frame = new ClientMessage.Frame(bytes, flags);
                if (_message == null)
                {
                    _message = ClientMessage.CreateForDecode(frame);
                }
                else
                {
                    _message.Add(frame);
                }
                _readOffset = 0;
                if (size == 0)
                {
                    return(true);
                }
            }

            var tail = _message.LastFrame;

            return(Accumulate(src, tail.Content, tail.Content.Length - _readOffset));
        }
 public static void Encode(ClientMessage clientMessage, byte[] bytes)
 {
     clientMessage.Add(new ClientMessage.Frame(bytes));
 }
예제 #31
0
파일: Messenger.cs 프로젝트: spox/irisim
 private void StartChat(string username, string alias)
 {
     Logger.log("Messenger: Sending notice of new chat.", Logger.Verbosity.moderate);
     ClientMessage mess = new ClientMessage("newUser");
     mess.Add("username", username);
     this._controller.message_pump.process_message(mess);
     this.SendUINotice("New chat has be started.");
     UIMessage message = new UIMessage("startChat");
     message.Add("username", username);
     message.Add("alias", alias);
     this._controller.message_pump.process_message(message);
 }
예제 #32
0
파일: UIBase.cs 프로젝트: spox/irisim
 public void on_userTextEntry_activate(System.Object o, EventArgs e)
 {
     if(this._current_chat == "")
     {
         Application.Invoke(delegate{ new Error("You must start a chat first."); });
     }
     else
     {
         ClientMessage message = new ClientMessage("userMessage");
         message.Add("destination", this._current_chat);
         message.Add("message", this.userTextEntry.Text);
         message.Add("time", DateTime.Now.ToString());
         this._controller.message_pump.process_message(message);
         TextBuffer t = (TextBuffer)this._user_chats[this._current_chat];
         t.Text += DateTime.Now.ToString() +" (you): "+this.userTextEntry.Text+"\n";
         this._user_chats[this._current_chat] = t;
         this.userTextEntry.Text = "";
     }
 }
 public static void Encode(ClientMessage clientMessage, string value)
 {
     clientMessage.Add(new Frame(Utf8.GetBytes(value)));
 }