Server.stdin_pump: def of cswap-bend-cli@0.1.0.0 Import: import cswap-bend-cli@0.1.0.0/server.bend as Server Lines 66-77 of cswap-bend-cli@0.1.0.0/server.bend: https://jend.leeeet.dev/read.txt?path=cswap-bend-cli@0.1.0.0/server.bend&start_line=66&end_line=77 import Base import cswap-bend-cli@0.1.0.0/fs.bend as Fs import cswap-bend-cli@0.1.0.0/frame.bend as Fr import cswap-bend-cli@0.1.0.0/rpc.bend as Rpc import cswap-bend-cli@0.1.0.0/fmt/out.bend as O @unsafe def stdin_pump(p: SP, +fmt: O.Fmt) -> IO(Unit): match p: case SRead{f, buf}: IO.bind(File & Fs.Res(String), Unit, File.read(f, chunk()), r => stdin_pump(after_read(r, buf), fmt)) case SFrames{f, +buf}: stdin_pump(s_cut(Fr.take(Rpc.is_block(fmt), buf), f, buf), fmt) case SHandle{f, msg, rest}: IO.bind(String, Unit, Rpc.handle(fmt, msg), resp => IO.bind(Unit, Unit, IO.write(resp), u => stdin_pump(SFrames{f, rest}, fmt))) case STail{f, +buf}: stdin_pump(s_tail(Fr.blank(buf), f, buf), fmt) case SDone{f}: File.close(f) Uses (20): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=File https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=File.close https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=File.read https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=IO https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=IO.bind https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=IO.write https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Pair https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=String https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Unit https://jend.leeeet.dev/definition.txt?path=cswap-bend-cli@0.1.0.0/fmt/out.bend&name=Fmt https://jend.leeeet.dev/definition.txt?path=cswap-bend-cli@0.1.0.0/frame.bend&name=blank https://jend.leeeet.dev/definition.txt?path=cswap-bend-cli@0.1.0.0/frame.bend&name=take https://jend.leeeet.dev/definition.txt?path=cswap-bend-cli@0.1.0.0/fs.bend&name=Res https://jend.leeeet.dev/definition.txt?path=cswap-bend-cli@0.1.0.0/rpc.bend&name=handle https://jend.leeeet.dev/definition.txt?path=cswap-bend-cli@0.1.0.0/rpc.bend&name=is_block https://jend.leeeet.dev/definition.txt?path=cswap-bend-cli@0.1.0.0/server.bend&name=SP https://jend.leeeet.dev/definition.txt?path=cswap-bend-cli@0.1.0.0/server.bend&name=after_read https://jend.leeeet.dev/definition.txt?path=cswap-bend-cli@0.1.0.0/server.bend&name=chunk https://jend.leeeet.dev/definition.txt?path=cswap-bend-cli@0.1.0.0/server.bend&name=s_cut https://jend.leeeet.dev/definition.txt?path=cswap-bend-cli@0.1.0.0/server.bend&name=s_tail