Seastar
High performance C++ framework for concurrent servers
|
Template helper to auto-close obj
when destroyed.
Object | a class exposing a close() method that returns a future<> that is called when the controller is destroyed. |
Must be used in a seastar thread as the destructor needs to wait on the obj
close() future.
#include <seastar/util/closeable.hh>
Public Member Functions | |
deferred_close (Object &obj) noexcept | |
deferred_close (deferred_close &&x) noexcept | |
deferred_close (const deferred_close &)=delete | |
deferred_close & | operator= (deferred_close &&x) noexcept |
~deferred_close () | |
Destruct the deferred_close object and auto-close obj . | |
void | close_now () noexcept |
Close obj once now. | |
void | cancel () noexcept |
|
inlinenoexcept |
Construct an object that will auto-close obj
when destroyed.
obj | the object to auto-close. |
|
inlinenoexcept |
Moves the deferred_close
into a new one, and the old one is canceled.
|
inlinenoexcept |
Prevents close() from being called when this object is destroyed. Cannot call close_now() any more after this.
|
inlinenoexcept |
Move-assign another deferred_close. The current deferred_close is closed before being assigned. And the other one's state is transferred to the current one.