SubscribeResult
@rotorsoft/act-root / act/src / SubscribeResult
Type Alias: SubscribeResult
SubscribeResult =
object
Defined in: libs/act/src/types/ports.ts:73
Result of a Store.subscribe call.
Named rather than written inline because three places state it โ the port, the drain's helper, and every adapter โ and they drifted apart the moment one of them grew a field.
Propertiesโ
correlated_atโ
correlated_at:
number
Defined in: libs/act/src/types/ports.ts:113
The correlate checkpoint: how far correlate has read the
event log, or -1 when it has never advanced.
Distinct from a subscription's at (how far a target has been
processed) โ a run of events resolving to no target moves this and no
watermark. It rides subscribe's existing return and is advanced by
the same call's correlated_at argument, so maintaining it costs no
store round trip of its own: correlate already calls subscribe
with the targets each scan discovered.
Adapters keep it in their own relation, never as a subscription, so no
stream-scoped surface (prioritize, reset, unblock,
query_streams, blocked_streams) ever counts it.
Keyed per correlator when a correlator is supplied, and
shared otherwise. Correlators that look for different things read the
log for different reasons, so one inheriting another's position at cold
start could skip events it needed โ previously survivable only because
of the back-scan window. A key with no row yet falls back to the shared
value, so an upgrade does not re-read history.
correlating?โ
optionalcorrelating?:boolean
Defined in: libs/act/src/types/ports.ts:90
Whether the caller holds the correlation lease and should scan.
undefined when no correlator was supplied โ no lease was requested,
so there is no answer and the caller scans as it always has.
Acquiring MUST be atomic. A read-then-write lets two workers both see an expired lease and both believe they hold it, which is precisely the duplication the lease removes.
Released by expiry only: a crash and a clean stop then take the same
path, so the recovery path is the common one. A holder can still hand
it back early by renewing with a minimal millis.
subscribedโ
subscribed:
number
Defined in: libs/act/src/types/ports.ts:74
watermarkโ
watermark:
number
Defined in: libs/act/src/types/ports.ts:75