Repository navigation
Conversation
|
Regarding UDP readingt: Regarding Sender Protocol API: |
Done. Doesn't answer the question about framing, though.
I don't think so. If someone wants to change that behaviour, they probably want to do that on a per-message basis. My suggestion is a separate API where literal |
I get it now, misunderstood the question. I didn't realize reading from UDP gave stronger guarantees on what was read than TCP. We could theoretically skip framing and do something simpler. I can conceive of a couple of uses of the framing information for other purposes than just decoding data messages. Primarily, the handshake messages use special frame types, and, I was also planning to let other special network-layer-messages use framing as well, like flow control messages. Not sure if these things are or ever will be relevant to UDP channels... The FrameHeader is 9 bytes per message, so we're basically just doubling the UDP header information which is 8 bytes by keeping them. I would say that it's worth it to keep the framing for simplicity/uniformity.
Okay I see, that API looks good to me 👍 |
Ok, then I'll merge this as is for now. I still think in the longer term we wanna remove that duplicate information, because for most UDP-based protocols, the bytes available per package a very precious. But I saw that the frame header size information is very pervasive now, so supporting multiple types of headers is not quite trivial at this point. So it's probably best to leave that for a future PR. I'll make an issue so we don't forget about it |
It's time to stop throwing exceptions when someone selects UDP as transport protocol. This PR provides UDP support and a few other improvements and updated dependencies on the networking side of things.
Status
This is currently a preview, that I'm looking for feedback on. In particular:
Related Issues
This fixes #48