Periodic ticker — the seam replacement for tokio::time::interval, so no
production site names tokio::time directly (decision A2). The hosted build
wraps tokio::time::Interval, preserving its default
MissedTickBehavior::Burst catch-up and immediate first tick; the RTEMS
build substitutes the runtime-free
crate::runtime::background::timer_sleep::TimerInterval, which reproduces
the same semantics over the delayed-callback timer.
EPICS thread priority — an integer 0..=99 with the named levels
from epicsThreadPriority* (epicsThread.h:73-83). Lower values
are lower priority; the CA server bands sit below the scan bands so
scan threads preempt CA-server threads on a loaded IOC.
true when Reactor::spawn lands the future on the tokio runtime,
false when it lands on the reactor-free background executor
(exec_backend — the RTEMS target, or a host build with
EPICS_RS_BUILD_EXEC_BACKEND=thread).
C’s floor for “the remaining budget is worth blocking on”:
CAC_SIGNIFICANT_DELAY, 1 µs
(epics-base/modules/ca/src/client/iocinf.h:37; the 1.0/CLOCKS_PER_SEC
spelling at :35 is the other platform’s arm of the same #if).
Queue statistics for all three callback bands, or None when the
background executor has not been built yet — C callbackQueueStatus
(callback.c:115-141), whose -1 return is exactly this None and
is what callbackQueueShow turns into its “not initialized, yet”
diagnostic. reset clears every band’s high-water mark, as C’s does
for the whole array regardless of which band is being read.
Eagerly start the process-global background executor — C callbackInit
parity (callback.c:286), called once from IocApplication::run. Idempotent:
a second call (or a prior lazy init) is a no-op, matching callbackInit’s
own re-entry guard (callback.c:292-295).
Create the process-global scanOnce worker thread now — C initOnce
(dbScan.c:768-780), called from the port’s scanInit equivalent so the
thread exists from IOC init rather than from the first one-shot. Idempotent.
Ring statistics for the scanOnce facility, or None before the
background executor exists — C scanOnceQueueStatus (dbScan.c:734-757)
and its if (!onceQ) return -1 guard.
C epicsThreadResume(id) (osdThread.c:797-802) on a handle a
subsystem stored for itself — dbBkpt.c’s pnode->taskid, resumed by
dbc/dbs (dbBkpt.c:518, :547).
Spawn a dedicated OS thread that runs f at priority with a stack
of StackSizeClass, plus whatever ambient async context
block_on_sync needs on this target.
The first live thread named name — C’s epicsThreadGetId
(osdThread.c:1039-1060), which epicsThreadShow’s iocsh wrapper falls
back to when the argument does not parse as a number.
Handle to a task spawned on the process-global background executor —
await for its result, abort() to cancel. Distinct from TaskHandle
because that one is the ambient executor’s handle and is
tokio::task::JoinHandle on a hosted build.