This just tells librados that you no longer need to use the io context.
It may not be freed immediately if there are pending asynchronous
requests on it, but you should not use an io context again after
calling this function on it.
@warning This does not guarantee any asynchronous
writes have completed. You must call rados_aio_flush()
on the io context before destroying it to do that.
@warning If this ioctx is used by rados_watch, the caller needs to
be sure that all registered watches are disconnected via
rados_unwatch() and that rados_watch_flush() is called. This
ensures that a racing watch callback does not make use of a
destroyed ioctx.
The opposite of rados_ioctx_create
This just tells librados that you no longer need to use the io context. It may not be freed immediately if there are pending asynchronous requests on it, but you should not use an io context again after calling this function on it.
@warning This does not guarantee any asynchronous writes have completed. You must call rados_aio_flush() on the io context before destroying it to do that.
@warning If this ioctx is used by rados_watch, the caller needs to be sure that all registered watches are disconnected via rados_unwatch() and that rados_watch_flush() is called. This ensures that a racing watch callback does not make use of a destroyed ioctx.
@param io the io context to dispose of