Pump

~import orisha/pump

Orisha's pump — the contract.

lib/pump.k · 12 tors

Orisha's pump — the contract. What a pump is: the thing that owns the readiness loop and hands the flow one exchange at a time. Every declaration is here; the loop bodies, one per platform, are in the companion `pump.kz`. This file has no host language in it, so it has no `~` in it either. TLS helpers live in koru/openssl; imported from orisha/index.k so emission orders koru_openssl before this submodule in the merged module. RUN — the loop. One variant per platform. `! arrived` fires once per request and RESUMES; `| stopped` and `| failed` are the two ways the loop ends. `*Exchange` is a host type the companion declares — a contract may name one, it just may not define one.

fill

retain lib/pump.k:72