I attempted to adapt the udp-socket.lua plugin to be non-blocking, but the high-level API doesn't provide enough functions to support this.
I recommend adding a poll() function to the high-level api to allow a callers to choose when and how often to poll for the next osc message