예제 #1
0
        private bool ReadMessage(ICollection <IScsMessage> messages)
        {
            if (_stream == null || _stream.Length == 0)
            {
                return(false);
            }

            _stream.Position = 0;

            var packet = new ConanPacket(_stream);

            if (packet.Length != UInt32.MaxValue)
            {
                messages.Add(packet);
                Functions.TrimStream(ref _stream);
                return(true);
            }

            _backBuffer = _stream.ToArray();
            return(false);
        }
예제 #2
0
 public ConanStream WriteArrayPrependLengthUInt32(ConanStream stream)
     => WriteArrayPrependLengthUInt32(stream.ToArray());
예제 #3
0
 public ConanStream WriteArrayPrependLengthUInt16(ConanStream stream, bool removeLen = false)
     => WriteArrayPrependLengthUInt16(stream.ToArray(), removeLen);
예제 #4
0
 public ConanStream WriteArrayPrependLengthByte(ConanStream stream)
     => WriteArrayPrependLengthByte(stream.ToArray());
예제 #5
0
 public ConanStream WriteArrayPrependLengthUInt32(ConanStream stream)
 => WriteArrayPrependLengthUInt32(stream.ToArray());
예제 #6
0
 public ConanStream WriteArrayPrependLengthUInt16(ConanStream stream, bool removeLen = false)
 => WriteArrayPrependLengthUInt16(stream.ToArray(), removeLen);
예제 #7
0
 public ConanStream WriteArrayPrependLengthByte(ConanStream stream)
 => WriteArrayPrependLengthByte(stream.ToArray());