def writer.write.mode

bend-kit-http@0.38.5.0 · http.bend:6807

import bend-kit-http@0.38.5.0/http.bend as Http
import Base
import bend-kit-http@0.38.5.0/completion.bend as Completion
import bend-kit-time@0.3.0.0/time.bend as Time
import bend-kit-bytes@0.3.3.0/bytes.bend as Bytes

6807def writer.write.mode(s: Socket, mode: WriterMode, b: Bytes.Bytes, until: Time.Duration) -> IO(Writer):
6808  match mode:
6809    case WriteNone{}:
6810      IO.pure(Writer, Writer{Some{s}, WriteNone{}, until, Completion.HostAccepted{}})
6811    case WriteKnown{+left}:
6812      Bytes.Bytes{+len, buf} = b
6813      writer.known(U32.is_le(len, left), s, left, len, Bytes.Bytes{len, buf}, until)
6814    case WriteChunk{}:
6815      Bytes.Bytes{+len, buf} = b
6816      writer.chunk.go(U32.is_zero(len), s, Bytes.Bytes{len, buf}, len, until)

Uses (13)

Used by (1)