|  | 
Sets the non-blocking mode of the descriptor.
void non_blocking( bool mode, asio::error_code & ec);
                  If true, the descriptor's
                  synchronous operations will fail with asio::error::would_block
                  if they are unable to perform the requested operation immediately.
                  If false, synchronous
                  operations will block until complete.
                
Set to indicate what error occurred, if any.
            The non-blocking mode has no effect on the behaviour of asynchronous
            operations. Asynchronous operations will never fail with the error asio::error::would_block.