Table of Contents

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 LocalTimeOfDay and UtcTimeOfDay wrappers when System.TimeOnly is 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.