Close the descriptor.
asio::error_code close( asio::error_code & ec);
This function is used to close the descriptor. Any asynchronous read
or write operations will be cancelled immediately, and will complete
Set to indicate what error occurred, if any. Note that, even if the function indicates an error, the underlying descriptor is closed.