![]() |
VSM C++ SDK
Vehicle Specific Modules SDK
|
Request waiter which uses a pipe to signal about request submissions. More...
#include <piped_request_waiter.h>
Public Types | |
typedef std::shared_ptr < Piped_request_waiter > | Ptr |
Pointer type. | |
typedef std::weak_ptr < Piped_request_waiter > | Weak_ptr |
Pointer type. | |
![]() | |
typedef std::shared_ptr < Request_waiter > | Ptr |
Pointer type. | |
typedef std::weak_ptr < Request_waiter > | Weak_ptr |
Pointer type. | |
typedef Callback_base< bool > ::Ptr<> | Predicate |
Predicate for wait operations. More... | |
Public Member Functions | |
Piped_request_waiter () | |
Constructor. More... | |
virtual void | Notify () override |
Notify all listeners about request submission. More... | |
bool | Wait (std::chrono::milliseconds timeout=std::chrono::milliseconds(-1)) |
Wait for an event for specific amount of time. More... | |
void | Ack () |
Consume one notification event. More... | |
sockets::Socket_handle | Get_wait_pipe () |
Get the platform handler of the wait pipe. More... | |
![]() | |
Locker | Lock () |
Acquire lock for request getting. More... | |
Locker | Lock_notify () |
Acquire lock for request submission. More... | |
int | Wait_and_process (const std::initializer_list< Request_container::Ptr > &containers, std::chrono::milliseconds timeout=std::chrono::milliseconds::zero(), int requests_limit=0, Predicate predicate=Predicate()) |
Wait for request submission. More... | |
int | Wait_and_process (const std::list< Request_container::Ptr > &containers, std::chrono::milliseconds timeout=std::chrono::milliseconds::zero(), int requests_limit=0, Predicate predicate=Predicate()) |
Wait for request submission. More... | |
Static Public Member Functions | |
template<typename... Args> | |
static Ptr | Create (Args &&...args) |
Create an instance. More... | |
![]() | |
template<typename... Args> | |
static Ptr | Create (Args &&...args) |
Create an instance. More... | |
Request waiter which uses a pipe to signal about request submissions.
ugcs::vsm::Piped_request_waiter::Piped_request_waiter | ( | ) |
Constructor.
void ugcs::vsm::Piped_request_waiter::Ack | ( | ) |
Consume one notification event.
|
inlinestatic |
Create an instance.
|
inline |
Get the platform handler of the wait pipe.
|
overridevirtual |
Notify all listeners about request submission.
Reimplemented from ugcs::vsm::Request_container::Request_waiter.
bool ugcs::vsm::Piped_request_waiter::Wait | ( | std::chrono::milliseconds | timeout = std::chrono::milliseconds(-1) | ) |
Wait for an event for specific amount of time.