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(); } } }