public SocketConnection(int id, Socket socket, SocketListener listener, bool debug = false) : base(id, socket, debug) { _disposed = false; _decoder = new FixHeaderDecoder(this, debug); _listener = listener; _pooledReadEventArgs = _listener.SocketAsyncReadEventArgsPool.Get() as PooledSocketAsyncEventArgs; _pooledReadEventArgs.Completed += IO_Completed; _pooledSendEventArgs = _listener.SocketAsyncSendEventArgsPool.Get() as PooledSocketAsyncEventArgs; _pooledSendEventArgs.Completed += IO_Completed; }
public SocketClientConnection(int id, string address, int port, int bufferSize, bool debug = false) : base(id, new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp), debug) { _id = id; _debug = debug; _disposed = false; _connected = false; _bufferSize = bufferSize; _connectTimeout = 5 * 1000; _decoder = new FixHeaderDecoder(this, debug); _remoteEndPoint = new IPEndPoint(IPAddress.Parse(address), port); _readEventArgs = new SocketAsyncEventArgs(); _readEventArgs.Completed += IO_Completed; _readEventArgs.SetBuffer(ArrayPool <byte> .Shared.Rent(_bufferSize), 0, _bufferSize); _sendEventArgs = new SocketAsyncEventArgs(); _sendEventArgs.Completed += IO_Completed; _sendEventArgs.SetBuffer(ArrayPool <byte> .Shared.Rent(_bufferSize), 0, _bufferSize); }