SignalR.Signaler.SafeHandleEventAndSetResultAction.SafeHandleEventAndSetResult C# (CSharp) Method

SafeHandleEventAndSetResult() private method

private SafeHandleEventAndSetResult ( string signaledEventKey ) : void
signaledEventKey string
return void
            private void SafeHandleEventAndSetResult(string signaledEventKey)
            {
                lock (locker)
                {
                    if (handlerCalled)
                        return;

                    handlerCalled = true;

                    foreach (var eventKey in eventKeys)
                    {
                        signalBus.RemoveHandler(eventKey, Handler);
                    }

                    if (canceled)
                    {
                        Tcs.SetCanceled();
                    }
                    else
                    {
                        Tcs.SetResult(new SignalResult { TimedOut = timedOut, EventKey = signaledEventKey });
                    }

                    Timer timer;
                    if (_timers.TryRemove(timerKey, out timer))
                    {
                        timer.Dispose();
                    }
                }
            }