Looking at the manual and the C impl, it seems there is no robust way to
determine if a non-blocking send failed. How should an application handle
NBRecv sets the badge register to zero when the recv "failed" - is it expected
that most/all endpoints will be badged? I'm still trying to get a feel for
what a system designed for this model would look like.