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
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
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.