Exemplo n.º 1
0
        public void AsyncRead()
        {
            if (!IsOpen())
            {
                return;
            }

            _readBuffer.Normalize();
            _readBuffer.EnsureFreeSpace();

            try
            {
                _socket.BeginReceive(_readBuffer.Data(), _readBuffer.Wpos(), _readBuffer.GetRemainingSpace(),
                                     SocketFlags.None, out _error, ReceiveDataCallback, null);
            }
            catch (Exception ex)
            {
                CloseSocket();

                if (LogException)
                {
                    FEL_LOG_WARN("network", "SocketBase::AsyncRead: {0} errored when _socket.BeginReceive: ({1})", _remoteAddress.ToString(), ex.Message);
                }
            }
        }
Exemplo n.º 2
0
        public void ShouldEnsureFreeSpace()
        {
            _buffer.WriteCompleted(_buffer.GetBufferSize());
            Assert.IsTrue(_buffer.GetRemainingSpace() == 0);

            _buffer.EnsureFreeSpace();

            Assert.IsTrue(_buffer.GetRemainingSpace() > 0);
        }