|
dxd - dynax driver framework 3.0.2
cross platform open source driver development framework
|
kernel triggerable user space event: signalled when the kernel triggers it, or its callback called instead - on the thread of the kernel's async notifications More...
#include <dx_sync.h>
Public Types | |
| typedef abstract::event | super |
Public Member Functions | |
| event()= default | |
| event(bool signalled= false) | |
| event(const std::string& name, bool signalled= false) | |
| event(std::function<void()>&& callback) | |
| event(std::function<void()>&& callback) | |
| virtual void | free() noexcept |
| super& | initialize(bool signalled= false) override |
| super& | initialize(const std::string& name, bool signalled= false) override |
| operator const os_event() const noexcept | |
| operator os_event() noexcept | |
| operator ::HANDLE() const noexcept | |
| super& | reset(uint64_t= 0) override |
| super& | signal(uint64_t= 1) override |
| uint64_t | signalled() const |
| super& | wait(bool reset= false) override |
| template<typename rep_t, typename period_t> | |
| bool | wait(const std::chrono::duration<rep_t, period_t>& timeout, bool reset= false) |
| waits the duration at most, as event<user>: true signalled, false timed out | |
| ~event() override | |
| the callback's wait gone, its calls run out, before resource closes the event | |
| virtual | ~event()= default |
Static Public Member Functions | |
| static void | wait(::HANDLE handle, int64_t timeout= 0) |
Static Public Attributes | |
| static constexpr auto | scope{kernel} |
Protected Attributes | |
| ::HANDLE | process{::GetCurrentProcess()} |
kernel triggerable user space event: signalled when the kernel triggers it, or its callback called instead - on the thread of the kernel's async notifications
an event the OS owns: a kernel object, waitable together with other handles and reachable by name across processes - what a driver or another process signals; or its callback called each time on the thread pool instead
| typedef abstract::event dx::event<kernel>::super |
Reimplemented from dx::abstract::event.
the callback's wait gone, its calls run out, before resource closes the event
Reimplemented from dx::abstract::event.
|
inlinevirtualnoexceptinherited |
Reimplemented in dx::coreaudio::pod::stream< device_t, circular_t >, dx::service::manager::promoted, dx::service::platform::connection, dx::service::platform::pipe, dx::shared::memory< buffer_t >, dx::shared::memory< buffer_t >, dx::shared::memory< circular_t >, dx::shared::memory< circular_t >, dx::shared::memory< dx::circular >, dx::shared::memory< dx::stream::clock::monitor >, dx::shared::memory< dx::stream::clock::monitor >, dx::stream::shared::stream< device_t, circular_t, super_stream_t, event_t >, dx::stream::shared::stream< device_t, circular_t >, dx::stream::shared::stream< device_t, circular_t, super_stream_t, event_t >, and dx::stream::shared::stream< device_t, dx::circular >.
Reimplemented from dx::abstract::event.
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
Implements dx::abstract::event.
Implements dx::abstract::event.
|
inline |
waits the duration at most, as event<user>: true signalled, false timed out
|
protectedinherited |