createBarrierReader
createBarrierReader(
options): () =>Promise<ConvergenceBarrier>
Defined in: packages/client/src/circuits/subscription-client.ts:328
Read the engine’s convergence barrier through the control plane — the readBarrier the sync
engine takes.
An unreachable barrier throws, and the engine treats that as a DELAY rather than a failure (ADR-0056): the group stays on the pre-alignment gate and tries again on the next delivery. So a control plane that is briefly down costs boot latency, not correctness.
A body missing a term throws for the same reason and to the same effect. Defaulting the absent field to zero would let a control plane that CANNOT report lost membership effects be read as one reporting none — a guard that cannot trip, which is protection nobody has. Throwing leaves the group on the pre-alignment gate instead: it never aligns against a barrier it cannot read whole.
Parameters
Section titled “Parameters”options
Section titled “options”Pick<SubscriptionClientOptions, "controlPlaneUrl" | "authHeaders" | "signal" | "fetch">
Returns
Section titled “Returns”() => Promise<ConvergenceBarrier>