public void TryRecycle()
        {
            if (_sock == null || !_sock.Connected)
            {
                return;
            }

            var span = DateTime.Now - _sock.ConnectedTime;

            if (span.TotalSeconds > RpcTcpBufferManager.Configuration.ChannelItem.SimplexConnectionLife)
            {
                _tracing.InfoFmt("Try to recycle connection: {0} connected={1} span={2}", _sock.RemoteUri, _sock.ConnectedTime, span);
                RpcTcpSimplexConnectionManager.DelayClose(_sock);
                lock (_syncRoot) {
                    CreateConnection();
                }
            }
        }