CSharpAnalytics.Sessions.TimeoutSessionManager.StartNewSessionIfTimedOut C# (CSharp) Метод

StartNewSessionIfTimedOut() приватный Метод

Starts are new session if the previous one has expired.
private StartNewSessionIfTimedOut ( DateTimeOffset activityStartedAt ) : void
activityStartedAt DateTimeOffset When this hit activity started.
Результат void
        private void StartNewSessionIfTimedOut(DateTimeOffset activityStartedAt)
        {
            // Two threads could trigger activities back to back after a session ends, e.g. restarting the app
            // after some time spent suspended.  Only let one of them cause a new session to be started.
            while (TimeSinceLastActivity(activityStartedAt) > timeout)
            {
                lock (newSessionLock)
                {
                    if (TimeSinceLastActivity(activityStartedAt) > timeout)
                        StartNewSession(activityStartedAt);
                    lastActivityAt = activityStartedAt;
                }
            }
        }