Adding the non-blocking send/receive functions

Here's the rest for completeness.