Class that allows up to max_simultaneous_locks
concurrent accesses to the critical section. It ignores task cancellation, unlike CancellableSemaphore.
Definition in file semaphore.hpp.
Go to the source code of this file.
#include <atomic>
#include <chrono>
#include <shared_mutex>
#include <stdexcept>
#include <userver/engine/deadline.hpp>
#include <userver/engine/impl/wait_list_fwd.hpp>
#include <memory>
#include <userver/utils/assert.hpp>
Classes | |
class | engine::UnreachableSemaphoreLockError |
class | engine::SemaphoreLockCancelledError |
Thrown by engine::CancellableSemaphore on current task cancellation. More... | |
class | engine::CancellableSemaphore |
Class that allows up to max_simultaneous_locks concurrent accesses to the critical section. It honours task cancellation, unlike Semaphore. More... | |
class | engine::Semaphore |
Class that allows up to max_simultaneous_locks concurrent accesses to the critical section. It ignores task cancellation, unlike CancellableSemaphore. More... | |
class | engine::SemaphoreLock |
A replacement for std::shared_lock that accepts Deadline arguments. More... | |
Namespaces | |
namespace | engine |
Asynchronous engine primitives. | |