FluxFlow.Components.Timers
1.1.0
dotnet add package FluxFlow.Components.Timers --version 1.1.0
NuGet\Install-Package FluxFlow.Components.Timers -Version 1.1.0
<PackageReference Include="FluxFlow.Components.Timers" Version="1.1.0" />
<PackageVersion Include="FluxFlow.Components.Timers" Version="1.1.0" />
<PackageReference Include="FluxFlow.Components.Timers" />
paket add FluxFlow.Components.Timers --version 1.1.0
#r "nuget: FluxFlow.Components.Timers, 1.1.0"
#:package FluxFlow.Components.Timers@1.1.0
#addin nuget:?package=FluxFlow.Components.Timers&version=1.1.0
#tool nuget:?package=FluxFlow.Components.Timers&version=1.1.0
FluxFlow.Components.Timers
Reusable timer components for FluxFlow.
Nodes
| Node type | Shape | Purpose |
|---|---|---|
timer.interval |
Output |
Emits TimerTick values on a fixed interval. |
timer.schedule |
Output |
Emits ScheduleTick values from a cron expression. |
timer.delay |
Input → Output |
Delays typed inputs and emits them unchanged. |
timer.throttle |
Input → Output |
Rate-limits typed inputs without changing them. |
timer.debounce |
Input → Output |
Emits the latest typed input after a quiet period. |
The package emits neutral tick contracts only. Hosts decide whether ticks drive polling, periodic health checks, metrics, file work, message publishing, or other workflow activity.
Interval
{
"type": "timer.interval",
"name": "poll",
"intervalMilliseconds": 1000,
"initialDelayMilliseconds": 250,
"maxTicks": 10,
"boundedCapacity": 128
}
timer.interval emits TimerTick values with a sequence number, timestamp,
due time, elapsed time, interval, and drift. Use emitImmediately: true when
the first tick should be emitted as soon as the node starts.
Schedule
{
"type": "timer.schedule",
"name": "weekday-noon",
"cron": "0 12 ? * MON-FRI",
"timeZoneId": "UTC",
"maxTicks": 10,
"boundedCapacity": 128
}
timer.schedule emits ScheduleTick values. Cron expressions can use five
fields or six fields when seconds are needed.
Delay
{
"type": "timer.delay",
"inputType": "message",
"delayMilliseconds": 250,
"boundedCapacity": 128
}
timer.delay preserves input order and emits the original item after the
configured delay. Register custom input aliases on the package options.
Throttle
{
"type": "timer.throttle",
"inputType": "message",
"intervalMilliseconds": 100,
"emitFirstImmediately": true,
"boundedCapacity": 128
}
timer.throttle preserves input order and emits the original item no more
than once per configured interval. It queues items through normal bounded
capacity instead of dropping them.
Debounce
{
"type": "timer.debounce",
"inputType": "message",
"quietPeriodMilliseconds": 250,
"boundedCapacity": 128
}
timer.debounce keeps the latest input and emits it after no new input arrives
for the configured quiet period. When the input completes, the latest pending
item is flushed before the output completes.
Registration
registry.RegisterTimerComponents(options => options
.UseClock(timerClock)
.RegisterType<MyMessage>("message"));
UseClock(...) is optional. The default uses normal system time. Hosts and
tests can provide an ITimerClock to control tick timestamps, schedule due-time
delays, delay nodes, throttle windows, and debounce quiet periods.
Design Metadata
This package exposes a package-owned IComponentDesignMetadataProvider for its
node types. Hosts can compose it through ComponentDesignMetadataCatalog to
populate palettes, editors, validation views, and documentation without
duplicating package descriptors.
Composition Guidance
Use this package as one part of a host-composed graph. See Component Composition for recommended host boundaries, package boundaries, and extraction timing.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- FluxFlow.Components.Designer (>= 1.0.1)
- FluxFlow.Engine (>= 1.0.1)
-
net8.0
- FluxFlow.Components.Designer (>= 1.0.1)
- FluxFlow.Engine (>= 1.0.1)
- System.Threading.Tasks.Dataflow (>= 9.0.4)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.1.0 | 40 | 6/5/2026 |
| 1.0.0 | 46 | 6/4/2026 |
| 0.5.0-alpha.1 | 92 | 6/2/2026 |
| 0.4.2-alpha.1 | 48 | 6/2/2026 |
| 0.4.1-alpha.1 | 87 | 6/1/2026 |
| 0.4.0-alpha.1 | 41 | 6/1/2026 |
| 0.3.0-alpha.1 | 45 | 6/1/2026 |
| 0.2.0-alpha.1 | 48 | 6/1/2026 |
| 0.1.0-alpha.1 | 46 | 6/1/2026 |
Adds package-owned IComponentDesignMetadataProvider metadata for host palettes, editors, validation views, generated docs, and catalog composition while keeping runtime behavior unchanged.