Gets the non-blocking mode of the socket.
bool non_blocking() const;
true if the socket's synchronous operations will fail with
boost::asio::error::would_block if they are unable to perform
the requested operation immediately. If
operations will block until complete.
The non-blocking mode has no effect on the behaviour of asynchronous
operations. Asynchronous operations will never fail with the error