def take.front

mylsm-lsm-store@0.6.0.1 · src/coordinator/RequestQueue.bend:157

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

157def take.front(
158  front: List<&1, Pending>,
159  back: List<&1, Pending>,
160  count: Nat,
161  bytes: Nat
162) -> TakeResult:
163  match front:
164    case Nil{}: Empty{Queue{Nil{}, back, count, bytes}}
165    case Con{item, tail}:
166      match item:
167        case Pending{connection_id, accepted_sequence, deadline_ms,
168          +encoded_bytes, response_peak, request}:
169          Taken{
170            Queue{tail, back, Nat.sub(count, 1n),
171              Nat.sub(bytes, encoded_bytes)},
172            Pending{connection_id, accepted_sequence, deadline_ms,
173              encoded_bytes, response_peak, request}}

Uses (6)

Used by (1)