//------------------- // Timeout-setting methods //------------------- // Get a new timer that will expire in the given number of seconds // For input, a value of zero seconds indicates infinite timeout internal static TimeoutTimer StartSecondsTimeout(int seconds) { //-------------------- // Preconditions: None (seconds must conform to SetTimeoutSeconds requirements) //-------------------- // Method body var timeout = new TimeoutTimer(); timeout.SetTimeoutSeconds(seconds); //--------------------- // Postconditions Debug.Assert(timeout != null); // Need a valid timeouttimer if no error return(timeout); }
// Get a new timer that will expire in the given number of milliseconds // No current need to support infinite milliseconds timeout internal static TimeoutTimer StartMillisecondsTimeout(long milliseconds) { //-------------------- // Preconditions Debug.Assert(0 <= milliseconds); //-------------------- // Method body var timeout = new TimeoutTimer(); timeout._timerExpire = checked (ADP.TimerCurrent() + (milliseconds * TimeSpan.TicksPerMillisecond)); timeout._isInfiniteTimeout = false; //--------------------- // Postconditions Debug.Assert(timeout != null); // Need a valid timeouttimer if no error return(timeout); }