public RpcTcpSocketConnection(RpcConnectionDirection direction) { _eRecv = RpcTcpBufferManager.FetchReceiveArgs(); if (_eRecv == null) { throw new Exception("Exceed max connections!"); } ((RpcTcpAsyncArgs)_eRecv).Callback = (e) => ProcessReceive(e); _pendingPackets = new Queue <IRpcTcpSendingPacket>(); _direction = direction; _connected = false; _closed = false; _recycling = false; _counter.Connections.Increment(); }
/// <summary> /// 创建一个RpcConnection /// </summary> /// <param name="mode">模式</param> /// <param name="direction">方向</param> /// <remarks>被动连接(Server)在连接创建时建立,主动连接(Client)在BeginConnect后连接</remarks> public RpcConnection(RpcConnectionMode mode, RpcConnectionDirection direction) { _mode = mode; _direction = direction; }