def request_id.take

mylsm-lsm-store@0.6.0.1 · src/coordinator/ClientPolicy.bend:123

import mylsm-lsm-store@0.6.0.1/src/coordinator/ClientPolicy.bend as ClientPolicy
import Base
import mylsm-lsm-store@0.6.0.1/src/coordinator/Protocol.bend as Protocol

123# Assigns each request ID once and makes exhaustion terminal.
124def request_id.take(sequence: RequestSequence) -> RequestDecision:
125  match sequence:
126    case RequestAvailable{id}:
127      request_id.take.ready(Protocol.u32.duplicate.triple(id))
128    case RequestExhausted{}: RequestIdsExhausted{}

Uses (4)

Used by (1)