Netronics.PacketBuffer.EndBufferIndex C# (CSharp) Method

EndBufferIndex() public method

Buffer 읽기를 끝내고 지금까지 읽은 데이터를 Buffer내에서 삭제하는 메소드
public EndBufferIndex ( ) : void
return void
        public void EndBufferIndex()
        {
            MemoryStream old = _buffer;
            _buffer = new MemoryStream();

            int len;
            while ((len = old.Read(_buf, 0, 1024)) > 0)
                _buffer.Write(_buf, 0, len);
            old.Dispose();
        }

Usage Example

Esempio n. 1
0
        public dynamic Decode(IChannel channel, PacketBuffer buffer)
        {
            buffer.BeginBufferIndex();
            if (buffer.AvailableBytes() < 1)
            {
                buffer.ResetBufferIndex();
                return null;
            }

            var data = new byte[buffer.AvailableBytes()];
            buffer.ReadBytes(data);

            string s = System.Text.Encoding.UTF8.GetString(data);
            int len = s.IndexOf('\n');
            if (len == -1)
            {
                buffer.ResetBufferIndex();
                return null;
            }
            s = s.Substring(0, len + 1);

            buffer.SetPosition(System.Text.Encoding.UTF8.GetByteCount(s));
            buffer.EndBufferIndex();

            return s;
        }
All Usage Examples Of Netronics.PacketBuffer::EndBufferIndex