Namespace KZDev.SystemClock.PrimeTime
Classes
- DayTimeTimerOptions
Timer options for setting up time-of-day callback timers.
- IntervalTimerOptions
Timer options for setting up interval callback timers.
- PrimeClockServiceCollectionExtensions
Extension methods for adding PrimeTime clock services to an IServiceCollection.
- PrimeClockTimeProviderExtensions
Extension methods for obtaining a TimeProvider from PrimeTime clocks.
- PrimeClockTimerExtensions
Extension methods for IPrimeClock interval and (when targeting .NET with day-time APIs) time-of-day timers. These provide convenient overloads for common timer registration patterns, such as repeating timers and callbacks that do not require context or cancellation tokens.
- PrimeTimeScheduleZoneExtensions
Projects absolute instants into the local schedule time zone carried by an IPrimeClock instance, using the same TimeZoneInfo as LocalScheduleTimeZone.
- TimeCancellationTokenSource
Wraps one or more CancellationTokenSource instances used for time-based cancellation, exposing token and cancel operations and ensuring all underlying sources are disposed when this instance is disposed.
- TimerOptions
The timer options for setting up callback timers.
Structs
- ClockTimerCallbackContext
Context passed to clock timer callbacks that accept state and registration.
- LocalTimeOfDay
Represents a time of day in the local time zone, as a TimeOnly wrapper with semantic meaning for use in day-time timers and scheduling.
- UtcTimeOfDay
Represents a time of day in UTC, as a TimeOnly wrapper with semantic meaning for use in day-time timers and scheduling.
Interfaces
- IClockDayTimeTimer
Registration for a time-of-day timer created from a clock's timer registration API; supporting change of the target time of day (BCL subset using the
LocalTimeOfDayandUtcTimeOfDaywrappers whenSystem.TimeOnlyis available; see remarks).
- IClockIntervalTimer
Registration for an interval timer created from a clock's timer registration API; supporting change of due time and repeat interval (BCL TimeSpan subset).
- IClockTimer
Registration for a timer created from a clock's timer registration API (BCL "now" subset or full NodaTime-capable clock).
- IDayTimeTimer
Registration for a time-of-day timer.
- IIntervalTimer
Registration for an interval timer.
- IPrimeClock
System Clock–specific members for IPrimeClock (BCL local calendar scheduling).
- IPrimeTime
The interface for the PrimeTime library for time passing and timer services. Implementations may clamp very large or out-of-range values for sleep, delay, and time-based cancellation; see the implementing type for specific limits. Members that delegate to the BCL may throw the same exceptions as the corresponding Thread, Task, or CancellationTokenSource APIs.
Enums
- ConcurrentTriggerProcessing
Options for concurrent trigger processing for time-of-day timers.
- DuplicateTimeBehavior
Indicates which of the two possible moments on the timeline to use when the same local wall clock time occurs twice—typically a fall-back overlap when daylight saving time ends.
- SkippedTimeBehavior
Defines how a local wall-clock time that does not exist on the local calendar day should be handled—typically a spring-forward gap when daylight saving time starts.
- TimerCallbackExecutionContext
Controls whether timer callbacks capture and restore the calling execution context (for example SynchronizationContext and AsyncLocal<T>) or run without it (unsafe).
- TimerState
Represents the state of a timer registration.