示例#1
0
        private void _ReadHead()
        {
            var readHead = new SocketHeadReader(_Peer);

            _Reader             = readHead;
            _Reader.DoneEvent  += _ReadBody;
            _Reader.ErrorEvent += ErrorEvent;
            readHead.Read();
        }
示例#2
0
        private void _ReadHead()
        {
            var readHead = new SocketHeadReader(_Peer);

            ISocketReader reader = readHead;

            reader.DoneEvent  += _ReadBody;
            reader.ErrorEvent += ErrorEvent;
            _Machine.Push(readHead);
            readHead.Read();
        }
示例#3
0
        private void _ReadBody(byte[] bytes)
        {
            ulong len;

            Regulus.Serialization.Varint.BufferToNumber(bytes, 0, out len);
            var bodySize = (int)len;

            var reader = new SocketBodyReader(_Peer);

            _Reader             = reader;
            _Reader.DoneEvent  += _Package;
            _Reader.ErrorEvent += ErrorEvent;
            reader.Read(bodySize);
        }
示例#4
0
        public void ReadHeadTest()
        {
            SocketHeadReaderTestPeer peer = new SocketHeadReaderTestPeer();

            SocketHeadReader reader    = new Regulus.Remote.SocketHeadReader(peer);
            ISocketReader    readEvent = reader as ISocketReader;

            System.Collections.Generic.List <byte> buffer = new System.Collections.Generic.List <byte>();
            readEvent.DoneEvent += (read_buffer) =>
            {
                buffer.AddRange(read_buffer);
            };
            reader.Read();
            while (buffer.Count != 2)
            {
            }
            NUnit.Framework.Assert.AreEqual(0x85, buffer[0]);
            NUnit.Framework.Assert.AreEqual(0x05, buffer[1]);
        }
示例#5
0
        public void ReadHeadTest()
        {
            SocketHeadReaderTestPeer peer = new SocketHeadReaderTestPeer();

            SocketHeadReader reader    = new Regulus.Remote.SocketHeadReader(peer);
            ISocketReader    readEvent = reader as ISocketReader;
            var buffer = new System.Collections.Generic.List <byte>();

            readEvent.DoneEvent += (read_buffer) =>
            {
                buffer.AddRange(read_buffer);
            };

            reader.Read();
            readEvent.Enter();
            while (buffer.Count != 2)
            {
                readEvent.Update();
            }
            readEvent.Leave();
            Xunit.Assert.Equal(0x85, buffer[0]);
            Xunit.Assert.Equal(0x05, buffer[1]);
        }