60 if(m_ready.exchange(
true) ==
true)
84 if(m_ready.exchange(
true) ==
true)
85 processedEvent.
Block();
101 std::unique_lock<std::mutex> lock(m_mutex);
102 m_cond.wait(lock, [&]{
return m_ready.load(); });
111 bool Peek(
bool clearReady =
true)
133 std::condition_variable m_cond;
134 std::atomic_bool m_ready;
Synchronization primitive for sending a "something is ready" notification to a thread.
Definition: Event.h:38
void SignalExactlyOnce(Event &processedEvent)
Sends an event to the receiving thread.
Definition: Event.h:79
bool SignalIfNotAlreadySignaled()
Sends an event to the receiving thread.
Definition: Event.h:57
bool Peek(bool clearReady=true)
Checks if the event is signaled, and returns immediately without blocking regardless of event state.
Definition: Event.h:111
void Signal()
Sends an event to the receiving thread.
Definition: Event.h:46
void Clear()
Clears the event state if it's currently signaled.
Definition: Event.h:126
void Block()
Blocks until the event is signaled.
Definition: Event.h:99