pub struct WindowDefinition {
pub name: String,
pub timezone: String,
pub allow: Vec<WindowSpan>,
pub exclude: Vec<String>,
pub on_outside: String,
pub loc: Loc,
pub leading_trivia: Vec<Trivia>,
pub trailing_trivia: Vec<Trivia>,
}Expand description
§Fase 71.a — a temporal execution-window guard. Where shield guards the
CONTENT of an emission and anchor guards its TRUTH, window guards its
TIMING: whether a scheduled (cron) tick runs, by timezone-aware day/hour
windows. The runtime decision (is_in_window) lands in §71.b; the daemon
binding + the defer ledger in §71.c/d.
Fields§
§name: String§timezone: StringIANA timezone ("America/Bogota"). Format-checked at compile time
(§71.a); full IANA membership validated by the runtime (§71.b, chrono-tz).
allow: Vec<WindowSpan>The allowed day/hour spans (at least one). A tick inside ANY span runs.
exclude: Vec<String>§Fase 71.e — excluded dates (holidays): ISO YYYY-MM-DD date-string
literals (exclude: [ "2026-12-25", "2026-01-01" ]). A tick whose local
date (in timezone) is in this set is OUTSIDE the window regardless of the
hour spans. The dates are LITERAL — part of the verified program, so the
decision stays a pure, replayable function of (now, the window, the tz-db version) (the time_is_an_explicit_input doctrine). Empty ⇒ no holidays.
on_outside: StringWhat to do when a tick falls OUTSIDE every allowed span:
skip | defer | warn (closed catalog).
loc: Loc§leading_trivia: Vec<Trivia>§trailing_trivia: Vec<Trivia>Trait Implementations§
Auto Trait Implementations§
impl Freeze for WindowDefinition
impl RefUnwindSafe for WindowDefinition
impl Send for WindowDefinition
impl Sync for WindowDefinition
impl Unpin for WindowDefinition
impl UnsafeUnpin for WindowDefinition
impl UnwindSafe for WindowDefinition
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more