def header.result

mylsm-lsm-store@0.6.0.1 · src/coordinator/Io.bend:583

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/ByteMemTable.bend as ByteMemTable
import mylsm-lsm-store@0.6.0.1/src/coordinator/Protocol.bend as Protocol

583def header.result(
584  pair: File & Result<&1, &1, U32 & String, ExactResult>,
585  max_payload: Nat
586) -> IO(File & Result<&1, &1, Error, Protocol.Request>):
587  match pair:
588    case (file, Fail{(code, message)}):
589      IO.pure(File & Result<&1, &1, Error, Protocol.Request>,
590        (file, Fail{host.error(code, message)}))
591    case (file, Done{ExactResult{bytes, complete}}):
592      match complete:
593        case False{}:
594          IO.pure(File & Result<&1, &1, Error, Protocol.Request>,
595            (file, Fail{Truncated{}}))
596        case True{}:
597            header.cloned(file, ByteMemTable.bytes.clone(bytes), max_payload)

Uses (16)

Used by (1)