1 write to _state
Microsoft.AspNetCore.SignalR.Client.Core (1)
78 references to _state
Microsoft.AspNetCore.SignalR.Client.Core (78)
HubConnection.cs (78)
220public string? ConnectionId => _state.CurrentConnectionStateUnsynchronized?.Connection.ConnectionId;
225public HubConnectionState State => _state.OverallState;
305await _state.WaitConnectionLockAsync(token: cancellationToken).ConfigureAwait(false);
308if (!_state.TryChangeState(HubConnectionState.Disconnected, HubConnectionState.Connecting))
315if (_state.StopCts.Token.IsCancellationRequested)
320using (CancellationTokenUtils.CreateLinkedToken(cancellationToken, _state.StopCts.Token, out var linkedToken))
325_state.ChangeState(HubConnectionState.Connecting, HubConnectionState.Connected);
329if (_state.TryChangeState(HubConnectionState.Connecting, HubConnectionState.Disconnected))
331_state.StopCts = new CancellationTokenSource();
338_state.ReleaseConnectionLock();
515_state.AssertInConnectionLock();
516SafeAssert(_state.CurrentConnectionStateUnsynchronized == null, "We already have a connection!");
570_state.CurrentConnectionStateUnsynchronized = startingConnectionState;
605var connectionState = _state.CurrentConnectionStateUnsynchronized;
690if (_state.CurrentConnectionStateUnsynchronized is { } connectionState)
721if (_state.CurrentConnectionStateUnsynchronized is { } connectionState)
851_state.StopCts.Cancel();
855await _state.WaitConnectionLockAsync(token: default).ConfigureAwait(false);
858var reconnectTask = _state.ReconnectTask;
866_state.ReleaseConnectionLock();
868await _state.WaitConnectionLockAsync(token: default).ConfigureAwait(false);
885connectionState = _state.CurrentConnectionStateUnsynchronized;
916_state.StopCts = new CancellationTokenSource();
942_state.ReleaseConnectionLock();
1021_state.ReleaseConnectionLock();
1092_state.AssertInConnectionLock();
1258await _state.WaitConnectionLockAsync(token: default).ConfigureAwait(false);
1262if (_state.IsConnectionActive())
1278_state.ReleaseConnectionLock();
1291var connectionStateTask = _state.WaitForActiveConnectionAsync(sendingMethodName, token);
1372_state.ReleaseConnectionLock();
1415await _state.WaitConnectionLockAsync(token: default).ConfigureAwait(false);
1418if (_state.CurrentConnectionStateUnsynchronized != null)
1423await SendHubMessage(_state.CurrentConnectionStateUnsynchronized, new CancelInvocationMessage(irq.InvocationId), cancellationToken: default).ConfigureAwait(false);
1436_state.ReleaseConnectionLock();
1474_state.AssertConnectionValid();
1517_state.AssertConnectionValid();
1573_state.ReleaseConnectionLock();
1580var connectionState = await _state.WaitForActiveConnectionAsync(callerName, token: cancellationToken).ConfigureAwait(false);
1591_state.ReleaseConnectionLock();
1915_state.AssertInConnectionLock();
2038return _state.CurrentConnectionStateUnsynchronized!.RunTimerActions();
2045_state.CurrentConnectionStateUnsynchronized!.OnServerTimeout();
2053await _state.WaitConnectionLockAsync(token: default).ConfigureAwait(false);
2056SafeAssert(ReferenceEquals(_state.CurrentConnectionStateUnsynchronized, connectionState),
2058_state.CurrentConnectionStateUnsynchronized = null;
2078_state.ChangeState(HubConnectionState.Connected, HubConnectionState.Disconnected);
2083_state.ReconnectTask = ReconnectAsync(connectionState.CloseException);
2088_state.ReleaseConnectionLock();
2094_state.AssertInConnectionLock();
2095_state.StopCts = new CancellationTokenSource();
2128_state.AssertInConnectionLock();
2134_state.ChangeState(HubConnectionState.Connected, HubConnectionState.Disconnected);
2140_state.ChangeState(HubConnectionState.Connected, HubConnectionState.Reconnecting);
2159await Task.Delay(nextRetryDelay.Value, _state.StopCts.Token).ConfigureAwait(false);
2165await _state.WaitConnectionLockAsync(token: default).ConfigureAwait(false);
2168_state.ChangeState(HubConnectionState.Reconnecting, HubConnectionState.Disconnected);
2170CompleteClose(GetOperationCanceledException("Connection stopped during reconnect delay. Done reconnecting.", ex, _state.StopCts.Token));
2174_state.ReleaseConnectionLock();
2180await _state.WaitConnectionLockAsync(token: default).ConfigureAwait(false);
2183SafeAssert(ReferenceEquals(_state.CurrentConnectionStateUnsynchronized, null),
2186await StartAsyncCore(_state.StopCts.Token).ConfigureAwait(false);
2190_state.ChangeState(HubConnectionState.Reconnecting, HubConnectionState.Connected);
2201if (_state.StopCts.IsCancellationRequested)
2205_state.ChangeState(HubConnectionState.Reconnecting, HubConnectionState.Disconnected);
2207CompleteClose(GetOperationCanceledException("Connection stopped during reconnect attempt. Done reconnecting.", ex, _state.StopCts.Token));
2215_state.ReleaseConnectionLock();
2221await _state.WaitConnectionLockAsync(token: default).ConfigureAwait(false);
2224SafeAssert(ReferenceEquals(_state.CurrentConnectionStateUnsynchronized, null),
2230_state.ChangeState(HubConnectionState.Reconnecting, HubConnectionState.Disconnected);
2237_state.ReleaseConnectionLock();
2264return new OperationCanceledException(message, innerException, _state.StopCts.Token);
2557_hubConnection._state.AssertInConnectionLock();
2601var connectionToken = _hubConnection._state.StopCts.Token;
2668if (!_hubConnection._state.TryAcquireConnectionLock())
2678if (_hubConnection._state.CurrentConnectionStateUnsynchronized != null)
2680SafeAssert(ReferenceEquals(_hubConnection._state.CurrentConnectionStateUnsynchronized, this),
2692_hubConnection._state.ReleaseConnectionLock();