AdjustSdk.Pcl.TimerOnce.StartIn C# (CSharp) Method

StartIn() private method

private StartIn ( int milliSecondsDelay ) : void
milliSecondsDelay int
return void
        internal void StartIn(int milliSecondsDelay)
        {
            // reset current timer if active
            if (FireDate.HasValue)
            {
                CancelDelayTokenSource.Cancel();
                CancelDelayTokenSource = new CancellationTokenSource();
            }
            // save the next fire date
            FireDate = DateTime.Now.AddMilliseconds(milliSecondsDelay);

            // start/reset timer
            Task.Delay(milliSecondsDelay, CancelDelayTokenSource.Token).ContinueWith((t) => {
                if (t.IsCanceled) {
                    return;
                }
                TimerCallback();
            });
        }

Usage Example

Beispiel #1
0
        private void GetAttributionI(TimeSpan askIn, bool isInitializedBySdk)
        {
            // don't reset if new time is shorter than the last one
            if (_timer.FireIn > askIn)
            {
                return;
            }

            if (isInitializedBySdk)
            {
                _attributionPackage.Parameters.AddSafe(INITIATED_BY, "sdk");
            }
            else
            {
                _attributionPackage.Parameters.AddSafe(INITIATED_BY, "backend");
            }

            // recreate GET paramteres to include "initiated_by" parameter
            _urlQuery = BuildUrlQuery();

            if (askIn.Milliseconds > 0)
            {
                _logger.Debug("Waiting to query attribution in {0} milliseconds", askIn.Milliseconds);
            }

            // set the new time the timer will fire in
            _timer.StartIn(askIn);
        }
All Usage Examples Of AdjustSdk.Pcl.TimerOnce::StartIn