Home | Notifications | New Note | Local | Federated | Search | Logout

Note Detail


Reply to @ArneBab@rollenspiel.social
dave@dthompson@toot.cat (2026-10-20 00:05:42)
@ArneBab "peer" is a matter of identity, so it's possible that a program could contain multiple OCapN peer identities. Only one active connection is allowed between any two peers. Having multiple processes share one network connection to the same remote peer would be possible by using a local relay as proxy, no need for QUIC.

Zero RTT is not minor in the big picture but I just meant that in comparison to all the other stuff QUIC is doing it's relatively minor. It would be easy for another protocol built on UDP to achieve this.

For my use-case I'd want the first packet to start a Noise handshake, but QUIC incorporates a TLS handshake, so that's yet another reason why it's not a good fit.
---Reply--- ArneBab@ArneBab@rollenspiel.social (2026-10-20 00:27:05) @dthompson There’s always the option of just building your own layer on top of UDP.

It’s not like there is no precedent (looking at Freenet / Hyphanet …).

The ordering requirement makes that a bit expensive, though. Once you need the order preserved, just using TCP is usually a better fit than UDP, since it does all the heavy lifting, including load balancing, re-transmit, and so on.

Does UPnP not work anymore to open ports for TCP dynamically?
Reply

---Replies---
ValorZard@valorzard@mastodon.gamedev.place (2026-10-20 00:40:51)
@ArneBab @dthompson if you guys are interested in using QUIC for peer to peer stuff, iroh is pretty nifty.

https://www.iroh.computer

I’ve used it a lot and it works wayyyyy better than WebRTC and the api is really nice.

(I’m pretty sure Dave Thompson already knows about them but just in case)
dave@dthompson@toot.cat (2026-10-20 02:22:39)
@ArneBab yes, building a new protocol on top of UDP is always an option, but I'm trying to exhaust all of the existing options before going down that path.

I agree that just using TCP would be fine, but unfortunately you can't punch through NATs with TCP so you're stuck with UDP.

UPnP is one tool in the toolbox but it's far from guaranteed to work and even if it works on the user's LAN it won't help if the user is also behind a carrier grade NAT.