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();
1908_state.AssertInConnectionLock();
2031return _state.CurrentConnectionStateUnsynchronized!.RunTimerActions();
2038_state.CurrentConnectionStateUnsynchronized!.OnServerTimeout();
2046await _state.WaitConnectionLockAsync(token: default).ConfigureAwait(false);
2049SafeAssert(ReferenceEquals(_state.CurrentConnectionStateUnsynchronized, connectionState),
2051_state.CurrentConnectionStateUnsynchronized = null;
2071_state.ChangeState(HubConnectionState.Connected, HubConnectionState.Disconnected);
2076_state.ReconnectTask = ReconnectAsync(connectionState.CloseException);
2081_state.ReleaseConnectionLock();
2087_state.AssertInConnectionLock();
2088_state.StopCts = new CancellationTokenSource();
2121_state.AssertInConnectionLock();
2127_state.ChangeState(HubConnectionState.Connected, HubConnectionState.Disconnected);
2133_state.ChangeState(HubConnectionState.Connected, HubConnectionState.Reconnecting);
2152await Task.Delay(nextRetryDelay.Value, _state.StopCts.Token).ConfigureAwait(false);
2158await _state.WaitConnectionLockAsync(token: default).ConfigureAwait(false);
2161_state.ChangeState(HubConnectionState.Reconnecting, HubConnectionState.Disconnected);
2163CompleteClose(GetOperationCanceledException("Connection stopped during reconnect delay. Done reconnecting.", ex, _state.StopCts.Token));
2167_state.ReleaseConnectionLock();
2173await _state.WaitConnectionLockAsync(token: default).ConfigureAwait(false);
2176SafeAssert(ReferenceEquals(_state.CurrentConnectionStateUnsynchronized, null),
2179await StartAsyncCore(_state.StopCts.Token).ConfigureAwait(false);
2183_state.ChangeState(HubConnectionState.Reconnecting, HubConnectionState.Connected);
2194if (_state.StopCts.IsCancellationRequested)
2198_state.ChangeState(HubConnectionState.Reconnecting, HubConnectionState.Disconnected);
2200CompleteClose(GetOperationCanceledException("Connection stopped during reconnect attempt. Done reconnecting.", ex, _state.StopCts.Token));
2208_state.ReleaseConnectionLock();
2214await _state.WaitConnectionLockAsync(token: default).ConfigureAwait(false);
2217SafeAssert(ReferenceEquals(_state.CurrentConnectionStateUnsynchronized, null),
2223_state.ChangeState(HubConnectionState.Reconnecting, HubConnectionState.Disconnected);
2230_state.ReleaseConnectionLock();
2257return new OperationCanceledException(message, innerException, _state.StopCts.Token);
2550_hubConnection._state.AssertInConnectionLock();
2594var connectionToken = _hubConnection._state.StopCts.Token;
2661if (!_hubConnection._state.TryAcquireConnectionLock())
2671if (_hubConnection._state.CurrentConnectionStateUnsynchronized != null)
2673SafeAssert(ReferenceEquals(_hubConnection._state.CurrentConnectionStateUnsynchronized, this),
2685_hubConnection._state.ReleaseConnectionLock();