def write.need
mylsm-lsm-store@0.6.0.1 · src/coordinator/Io.bend:286
import mylsm-lsm-store@0.6.0.1/src/coordinator/Io.bend as Io
import Base
import mylsm-lsm-store@0.6.0.1/src/coordinator/Protocol.bend as Protocol
import bend-kit-bytes@0.3.2.0/bytes.bend as Bytes
286def write.need(
287 zero: Bool,
288 file: File,
289 remaining_send: U32,
290 total: U32,
291 offsets: U32 & U32 & U32,
292 bytes: Bytes.Bytes
293) -> WriteState:
294 match zero:
295 case True{}: WriteDone{file}
296 case False{}:
297 match offsets:
298 case (write_offset, _, _):
299 match bytes:
300 case Bytes.Bytes{_, words}:
301 WriteSend{file, total,
302 Protocol.u32.duplicate.triple(write_offset),
303 Protocol.u32.duplicate.triple(remaining_send), words}