How are datagrams received?

Remember that the whole point of the blinklib framework is specifically to hide the whole idea of packets from you and instead present you with a simplified “share this value continuously” inside a “stop the world” synchronous view. This view is very opinionated and it is not meant to be flexible.

While it is possible for you to build an asynchronous packet delivery system on top of this abstraction, it will always be frustrating and inefficient. It is like building a C interpreter inside a logo runtime.

If you have a problem that does not fit well with the shared value model, then much better to dump blinklib and talk directly to the blinkBIOS which naively uses asynchronous packets. You will be so much happier!