#include <userver/concurrent/background_task_storage.hpp>
A version of concurrent::BackgroundTaskStorage for advanced use cases (e.g. driver internals) that can take the ownership of any kind of task.
Definition at line 21 of file background_task_storage.hpp.
Public Member Functions | |
BackgroundTaskStorageCore () | |
Creates an empty BTS. | |
BackgroundTaskStorageCore (BackgroundTaskStorageCore &&)=delete | |
BackgroundTaskStorageCore & | operator= (BackgroundTaskStorageCore &&)=delete |
void | CancelAndWait () noexcept |
void | CloseAndWaitDebug () noexcept |
void | Detach (engine::Task &&task) |
Detaches task, allowing it to continue execution out of scope. It will be cancelled and waited for on BTS destruction. | |
std::int64_t | ActiveTasksApprox () const noexcept |
Approximate number of currently active tasks. | |
|
noexcept |
Explicitly cancel and wait for the tasks. New tasks must not be launched after this call returns. Should be called no more than once.
|
noexcept |
Explicitly wait for execution tasks in the store. Should be called no more than once.
void concurrent::BackgroundTaskStorageCore::Detach | ( | engine::Task && | task | ) |
Detaches task, allowing it to continue execution out of scope. It will be cancelled and waited for on BTS destruction.