public TcpTransport(Socket socket, TcpTransportSettings transportSettings)
: base("tcp")
{
this.socket = socket;
this.socket.NoDelay = true;
this.socket.SendBufferSize = transportSettings.SendBufferSize;
this.socket.ReceiveBufferSize = transportSettings.ReceiveBufferSize;
this.localEndPoint = this.socket.LocalEndPoint;
this.remoteEndPoint = this.socket.RemoteEndPoint;
this.sendEventArgs = new WriteAsyncEventArgs(transportSettings.SendBufferSize);
this.sendEventArgs.Transport = this;
this.sendEventArgs.Completed += onWriteComplete;
this.receiveEventArgs = new ReadAsyncEventArgs(transportSettings.ReceiveBufferSize);
this.receiveEventArgs.Completed += onReadComplete;
this.receiveEventArgs.Transport = this;
}