private static void FireReconnected(IConnection connection, CancellationTokenSource reconnectTokenSource, ref int reconnectedFired) { if (!reconnectTokenSource.IsCancellationRequested && Interlocked.Exchange(ref reconnectedFired, 1) == 0) connection.OnReconnected(); } }