Stream.transfer.action: def of bend-kit-stream@0.3.1.0 Import: import bend-kit-stream@0.3.1.0/stream.bend as Stream Lines 92-104 of bend-kit-stream@0.3.1.0/stream.bend: https://jend.leeeet.dev/read.txt?path=bend-kit-stream@0.3.1.0/stream.bend&start_line=92&end_line=104 import Base def transfer.action(~S: Type, ~D: Type, ~write: D -> U32 -> Array -> Bool -> IO(D & Result<&1, &1, U32 & String, Unit>), action: ReadAction, source: S, destination: D, count: U32, +len: U32, words: Array, tls: Bool) -> IO(Transfer): match action: case End{}: IO.pure(Transfer, Stop{source, destination, Complete{count}}) case Over{}: IO.pure(Transfer, Stop{source, destination, Failed{count, Limit{}}}) case Forward{}: do IO>: pair : D & Result<&1, &1, U32 & String, Unit> <- write(destination, len, words, tls) return transfer.written(~S, ~D, source, count, len, pair) Uses (15): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Array https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Bool 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.pure https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Pair https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Result https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=String https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32 https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Unit https://jend.leeeet.dev/definition.txt?path=bend-kit-stream@0.3.1.0/stream.bend&name=Error https://jend.leeeet.dev/definition.txt?path=bend-kit-stream@0.3.1.0/stream.bend&name=Outcome https://jend.leeeet.dev/definition.txt?path=bend-kit-stream@0.3.1.0/stream.bend&name=ReadAction https://jend.leeeet.dev/definition.txt?path=bend-kit-stream@0.3.1.0/stream.bend&name=Transfer https://jend.leeeet.dev/definition.txt?path=bend-kit-stream@0.3.1.0/stream.bend&name=transfer.written