Table of Contents

Namespace KZDev.PrimeTime

Classes

DayTimeTimerOptions

Timer options for setting up time-of-day callback timers.

IntervalTimerOptions

Timer options for setting up interval callback timers.

NodaDateTimeZoneBclConversion

Maps Noda NodaTime.DateTimeZone values to BCL TimeZoneInfo for LocalScheduleTimeZone and LocalTimeZone adapters.

NodaDurationBclConversion

Centralizes NodaTime.Duration to BCL TimeSpan conversions for the Noda stack so delays, cancellation timers, interval registration, and virtual clock advances stay aligned with TimeSpan-based IPrimeClock members and avoid OverflowException.

PrimeClockNodaTimerExtensions

Extension methods for IPrimeClock NodaTime.Duration-based interval timer registration.

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.

PrimeTimeOfDayConversion

Converts between Noda NodaTime.LocalTime and BCL time-of-day shapes used by PrimeTime (TimeOnly, LocalTimeOfDay, UtcTimeOfDay), preserving 100-nanosecond tick resolution.

PrimeTimeScheduleZoneExtensions

Projects absolute instants into the local schedule time zone carried by an IPrimeClock instance, using the same NodaTime.DateTimeZone as LocalScheduleDateTimeZone.

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

Extends IPrimeTime with NodaTime-based "now" APIs so callers can obtain current time from the clock abstraction using NodaTime.Instant, NodaTime.LocalDateTime, NodaTime.ZonedDateTime, NodaTime.LocalTime, and NodaTime.LocalDate.

IPrimeTime

Extends IPrimeTime with NodaTime-based "now" APIs so callers can obtain current time from the clock abstraction using NodaTime.Instant, NodaTime.LocalDateTime, NodaTime.ZonedDateTime, NodaTime.LocalTime, and NodaTime.LocalDate.

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.