public Message Get(Connection connection, bool autoSend)
        {
            if (connection == null)
                throw new ArgumentNullException("connection");

            lock (_messages)
            {
                var buffer = _count < _minSize || _messages.Count == 0 ? Create() : _messages.Pop();
                return Configure(buffer, connection, autoSend);
            }
        }
示例#2
0
 public void Clear()
 {
     _connection = null;
     _writerIndex = Constants.MessageHeaderMaxSize;
     _readerIndex = Constants.MessageHeaderMaxSize;
 }
        private Message Configure(Message message, Connection connection, bool autoSend)
        {
            if (autoSend)
            {
                lock (_autoSendMessages)
                    _autoSendMessages.Add(message);
            }

            message.Clear();
            message.Connection = connection;
            message.FrameTime = _frameTime;

            return message;
        }