def ad.split.pick
bend-osdev-aead@0.1.0.0 · aead.bend:19
import bend-osdev-aead@0.1.0.0/aead.bend as Aead
import Base
import bend-osdev-bytes@0.1.0.0/bytes.bend as B
import bend-osdev-crypto@0.1.0.0/crypto.bend as Cr
19def ad.split.pick(short: Bool, +tlen: Nat, +o: B.Octets) -> Result<&2, &2, Cr.CrError, AdSplit>:
20 match short:
21 case True{}:
22 Fail{Cr.CrTooShort{B.Octets.len(o)}}
23 case False{}:
24 +n = Nat.sub(B.Octets.len(o), tlen)
25 Done{AdSplit{B.Octets.take(n, o), B.Octets.drop(n, o)}}