public abstract void Write(AsyncServer server, string msg);
        public override void Write(AsyncServer server, string msg)
        {
            Contract.Assert(server != null);

            _queue.Enqueue(msg);
        }
        public override void Write(AsyncServer server, string msg)
        {
            byte[] buffer = Encoding.UTF8.GetBytes(msg);

            server.Write(this, buffer, 0, buffer.Length);
        }