pub struct IrSource {Show 17 fields
pub name: String,
pub provider: String,
pub is_clock: bool,
pub is_file: bool,
pub is_http: bool,
pub recurrence: Option<Recurrence>,
pub timezone: Option<String>,
pub missed: Option<MissedPolicy>,
pub path: Option<String>,
pub watch: Option<String>,
pub url: Option<String>,
pub dedup_field: Option<String>,
pub observe_binding: String,
pub emit_signal: String,
pub emit_from: Option<String>,
pub emit_fields: Vec<IrSourceEmitField>,
pub span: SourceSpan,
}Expand description
A lowered source declaration (spec/std-time.md). is_clock selects the
clock_source lowering; otherwise signal_source. Both lower through the
source_declaration construct family and admit a durable signal fact.
Fields§
§name: String§provider: String§is_clock: bool§is_file: boolThe file provider: reads path line-by-line and admits one signal per
non-empty line, keyed by (source, line index) so re-reads are idempotent.
is_http: boolThe http provider: GETs url, parses a JSON array, and admits one
signal per element, keyed by (source, element index) so re-polls are
idempotent.
recurrence: Option<Recurrence>§timezone: Option<String>§missed: Option<MissedPolicy>§path: Option<String>path "<file>" — the file read line-by-line by a file source in line
mode (None otherwise; exactly one of path/watch).
watch: Option<String>watch "<glob>" — the glob a file source polls in occurrence mode
(None otherwise): one signal per new (path, content-hash) occurrence.
url: Option<String>url "<url>" — the endpoint GET’d by an http source (None otherwise).
dedup_field: Option<String>dedup <observe>.<field> — the observation field carrying the provider
delivery id for file (line mode) / http sources; replaces the
positional-ordinal admission key when declared.
observe_binding: String§emit_signal: String§emit_from: Option<String>S6 emit … from — the projection source binding; when set, the
signal’s declared fields not overridden in emit_fields are expanded
to copies off this binding after all declarations lower.
emit_fields: Vec<IrSourceEmitField>§span: SourceSpan