def request_id.take
import mylsm-lsm-store@0.6.0.1/src/coordinator/ClientPolicy.bend as ClientPolicyimport 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{}