It kind of fails with certain protocols. I once wrote an async MSSQL client for Rust, and some data doesn’t say its size in the headers. So this kind of forced the business logic to be async too.
Yeah, those durn data size fields. At first you’re like “why would you do this? It’s specified in the spec, right?” Then you start consuming the data stream and go “oh, yeah need this”.
I was doing some driver work for a real time location tracking board. The serial stream protocol was very well documented and designed. Plenty of byte length count fields, though.
It kind of fails with certain protocols. I once wrote an async MSSQL client for Rust, and some data doesn’t say its size in the headers. So this kind of forced the business logic to be async too.
Yeah, those durn data size fields. At first you’re like “why would you do this? It’s specified in the spec, right?” Then you start consuming the data stream and go “oh, yeah need this”.
I was doing some driver work for a real time location tracking board. The serial stream protocol was very well documented and designed. Plenty of byte length count fields, though.