def resolve.id
import bend-kit-dns@0.7.0.0/dns.bend as Dnsimport Base
516# §7.3: a random id makes forged answers harder to land.
517def resolve.id(name: String, ns: String, r: Result<&1, &1, U32 & String, U32>) -> IO(Maybe<&2, String>):
518 match r:
519 case Fail{e}:
520 none()
521 case Done{x}:
522 do IO<Maybe<&2, String>>:
523 u : Result<&1, &1, U32 & String, Socket> <- UDP.bind("0.0.0.0", 0)
524 resolve.sock(ns, U32.and(x, 65535), name, u)