public void Unregister(IMonitoredTcpConnection connection) { lock (_lock) { DoUnregisterConnection(connection); } }
public void Unregister(IMonitoredTcpConnection connection) { lock (_connectionsLock) { DoUnregisterConnection(connection); } }
private static void CheckPendingSend(IMonitoredTcpConnection connection) { int pendingSendBytes = connection.PendingSendBytes; if (pendingSendBytes > 128 * 1024) { Log.Information("# {connection} {pendingSendKiloBytes}kb pending send", connection, pendingSendBytes / 1024); } }
private static void CheckPendingReceived(IMonitoredTcpConnection connection) { uint pendingReceivedBytes = connection.PendingReceivedBytes; if (pendingReceivedBytes > 128 * 1024) { Log.Info("# {0} {1}kb are not dispatched", connection, pendingReceivedBytes / 1024); } }
private static void CheckPendingReceived(IMonitoredTcpConnection connection) { uint pendingReceivedBytes = connection.PendingReceivedBytes; if (pendingReceivedBytes > 128*1024) { Console.WriteLine("# {0} {1}kb are not dispatched", connection, pendingReceivedBytes/1024); } }
private void CheckPendingSend(IMonitoredTcpConnection connection) { uint pendingSendBytes = connection.PendingSendBytes; if (pendingSendBytes > 128 * 1024) { _log.Debug("# {0} {1}kb pending send", connection, pendingSendBytes / 1024); } }
private static void CheckPendingSend(IMonitoredTcpConnection connection) { uint pendingSendBytes = connection.PendingSendBytes; if (pendingSendBytes > 128 * 1024) { Log.Info("# {0} {1}kb pending send", connection, pendingSendBytes / 1024); } }
private static void CheckMissingReceiveCallback(ConnectionData connectionData, IMonitoredTcpConnection connection) { bool inReceive = connection.InReceive; bool isReadyForReceive = connection.IsReadyForReceive; DateTime? lastReceiveStarted = connection.LastReceiveStarted; int sinceLastReceive = (int)(DateTime.UtcNow - lastReceiveStarted.GetValueOrDefault()).TotalMilliseconds; bool missingReceiveCallback = inReceive && isReadyForReceive && sinceLastReceive > 500; if (missingReceiveCallback && connectionData.LastMissingReceiveCallBack) { Log.Error("# {0} {1}ms since last Receive started. No completion callback received, but socket status is READY_FOR_RECEIVE", connection, sinceLastReceive); } connectionData.LastMissingReceiveCallBack = missingReceiveCallback; }
private void CheckMissingReceiveCallback(ConnectionData connectionData, IMonitoredTcpConnection connection) { bool inReceive = connection.InReceive; bool isReadyForReceive = connection.IsReadyForReceive; DateTime?lastReceiveStarted = connection.LastReceiveStarted; int sinceLastReceive = (int)(DateTime.UtcNow - lastReceiveStarted.GetValueOrDefault()).TotalMilliseconds; bool missingReceiveCallback = inReceive && isReadyForReceive && sinceLastReceive > 500; if (missingReceiveCallback && connectionData.LastMissingReceiveCallBack) { _log.Error("# {0} {1}ms since last Receive started. No completion callback received, but socket status is READY_FOR_RECEIVE", connection, sinceLastReceive); } connectionData.LastMissingReceiveCallBack = missingReceiveCallback; }
private void CheckMissingSendCallback(ConnectionData connectionData, IMonitoredTcpConnection connection) { // snapshot all data? bool inSend = connection.InSend; bool isReadyForSend = connection.IsReadyForSend; DateTime?lastSendStarted = connection.LastSendStarted; uint inSendBytes = connection.InSendBytes; int sinceLastSend = (int)(DateTime.UtcNow - lastSendStarted.GetValueOrDefault()).TotalMilliseconds; bool missingSendCallback = inSend && isReadyForSend && sinceLastSend > 500; if (missingSendCallback && connectionData.LastMissingSendCallBack) { // _anySendBlockedOnLastRun = true; Log.Error( "# {0} {1}ms since last send started. No completion callback received, but socket status is READY_FOR_SEND. In send: {2}", connection, sinceLastSend, inSendBytes); } connectionData.LastMissingSendCallBack = missingSendCallback; }
public void Register(IMonitoredTcpConnection connection) { lock (_connectionsLock) { DoRegisterConnection(connection); } }
private static void CheckReceiveTimeout(ConnectionData connectionData, IMonitoredTcpConnection connection) { DateTime? lastReceiveStarted = connection.LastReceiveStarted; if (lastReceiveStarted == null) return; int sinceLastReceive = (int)(DateTime.Now - lastReceiveStarted.GetValueOrDefault()).TotalMilliseconds; if (sinceLastReceive > 10000) { Console.Error.WriteLine( "# {0} {1}ms since last Receive started. No data receive din 10000ms. TIMEOUT DETECTED", connection, sinceLastReceive); } }
public void Unregister(IMonitoredTcpConnection connection) { ConnectionData data; _connections.TryRemove(connection, out data); }
public void Register(IMonitoredTcpConnection connection) { _connections.TryAdd(connection, new ConnectionData(connection)); }
private void DoUnregisterConnection(IMonitoredTcpConnection connection) { _connections.Remove(connection); }
public ConnectionData(IMonitoredTcpConnection connection) { _connection = connection; }
public void Unregister(IMonitoredTcpConnection connection) { _connections.TryRemove(connection, out ConnectionData _); }
private void DoRegisterConnection(IMonitoredTcpConnection connection) { _connections.Add(connection, new ConnectionData(connection)); }
private void CheckPendingReceived(IMonitoredTcpConnection connection) { int pendingReceivedBytes = connection.PendingReceivedBytes; if (pendingReceivedBytes > 128 * 1024) { _log.Info("# {0} {1}kb are not dispatched", connection, pendingReceivedBytes / 1024); } }
private void CheckMissingSendCallback(ConnectionData connectionData, IMonitoredTcpConnection connection) { // snapshot all data? bool inSend = connection.InSend; bool isReadyForSend = connection.IsReadyForSend; DateTime? lastSendStarted = connection.LastSendStarted; uint inSendBytes = connection.InSendBytes; int sinceLastSend = (int)(DateTime.UtcNow - lastSendStarted.GetValueOrDefault()).TotalMilliseconds; bool missingSendCallback = inSend && isReadyForSend && sinceLastSend > 500; if (missingSendCallback && connectionData.LastMissingSendCallBack) { // _anySendBlockedOnLastRun = true; Log.Error( "# {0} {1}ms since last send started. No completion callback received, but socket status is READY_FOR_SEND. In send: {2}", connection, sinceLastSend, inSendBytes); } connectionData.LastMissingSendCallBack = missingSendCallback; }