internal WatchStream(IScheduler scheduler, IWatchState state, Target target, FirestoreDb db, CancellationToken cancellationToken) { _scheduler = scheduler; _state = state; _target = target; _db = db; _callbackCancellationTokenSource = CancellationTokenSource.CreateLinkedTokenSource(cancellationToken); _networkCancellationTokenSource = CancellationTokenSource.CreateLinkedTokenSource(_callbackCancellationTokenSource.Token); // TODO: Make these configurable? _backoffSettings = new BackoffSettings(TimeSpan.FromSeconds(1), TimeSpan.FromSeconds(30), 2.0); _backoffJitter = RetrySettings.RandomJitter; }
internal WatchStream(IScheduler scheduler, IWatchState state, Target target, FirestoreDb db, CancellationToken cancellationToken) { _scheduler = scheduler; _state = state; _target = target; _db = db; _callbackCancellationTokenSource = CancellationTokenSource.CreateLinkedTokenSource(cancellationToken); _networkCancellationTokenSource = CancellationTokenSource.CreateLinkedTokenSource(_callbackCancellationTokenSource.Token); _listenCallSettings = CallSettings.FromHeader(FirestoreClientImpl.ResourcePrefixHeader, db.RootPath); // TODO: Make these configurable? _backoffSettings = RetrySettings.FromExponentialBackoff( maxAttempts: int.MaxValue, initialBackoff: TimeSpan.FromSeconds(1), maxBackoff: TimeSpan.FromSeconds(30), backoffMultiplier: 2.0, retryFilter: _ => false, // Ignored backoffJitter: RetrySettings.RandomJitter); }
internal WatchStream(IWatchState state, Target target, FirestoreDb db, CancellationToken cancellationToken) : this(SystemScheduler.Instance, state, target, db, cancellationToken) { }
public void SetCurrentState(IWatchState state) { _currentState = state; }
public StopWatch() { _currentState = new StopState(this); }