private void _ReadHead() { var readHead = new SocketHeadReader(_Peer); _Reader = readHead; _Reader.DoneEvent += _ReadBody; _Reader.ErrorEvent += ErrorEvent; readHead.Read(); }
private void _ReadHead() { var readHead = new SocketHeadReader(_Peer); ISocketReader reader = readHead; reader.DoneEvent += _ReadBody; reader.ErrorEvent += ErrorEvent; _Machine.Push(readHead); readHead.Read(); }
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); }
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]); }
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]); }