I2P is a privacy network similar to Tor which provides models for both TCP like streams  and UDP like datagrams  and is oriented towards P2P usage.
My proposal is to use base32 addresses instead of IP addresses allocating for that a new INF subtype (I2). The port for datagrams could be indicated using U2 (although the protocol isn’t exactly UDP). We’d map any TCP or TLS connection to streaming layer data and map UDP to the datagram layer. For simplicity, the INF features would be TCP2 and UDP2 (although the protocols are neither UDP nor TCP).