• azimir@lemmy.ml
    link
    fedilink
    arrow-up
    10
    ·
    4 months ago

    This approach is so much nicer than the threading/queuing approaches we used to have. One async showed up, a ton of the work go pulled out of protocol handing and distributed subsystem sync efforts.

    Long lived the multi threaded C++ server buffer! Today, async beging to rule the roost.

    • pimeys@lemmy.nauk.io
      link
      fedilink
      arrow-up
      4
      ·
      4 months ago

      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.

      • azimir@lemmy.ml
        link
        fedilink
        arrow-up
        3
        ·
        4 months ago

        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.