Example #1
0
        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();
        }
Example #2
0
 /// <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;
 }