pub(crate) fn gen_available_loopback_addr<F: Fn(&SocketAddress) -> bool>(
    domain: Domain,
    free: F
) -> SocketAddress