VSM C++ SDK
Vehicle Specific Modules SDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
ugcs::vsm::Piped_request_waiter Class Reference

Request waiter which uses a pipe to signal about request submissions. More...

#include <piped_request_waiter.h>

Inheritance diagram for ugcs::vsm::Piped_request_waiter:
ugcs::vsm::Request_container::Request_waiter

Public Types

typedef std::shared_ptr
< Piped_request_waiter
Ptr
 Pointer type.
 
typedef std::weak_ptr
< Piped_request_waiter
Weak_ptr
 Pointer type.
 
- Public Types inherited from ugcs::vsm::Request_container::Request_waiter
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...
 
- Public Member Functions inherited from ugcs::vsm::Request_container::Request_waiter
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...
 
- Static Public Member Functions inherited from ugcs::vsm::Request_container::Request_waiter
template<typename... Args>
static Ptr Create (Args &&...args)
 Create an instance. More...
 

Detailed Description

Request waiter which uses a pipe to signal about request submissions.

Constructor & Destructor Documentation

ugcs::vsm::Piped_request_waiter::Piped_request_waiter ( )

Constructor.

Member Function Documentation

void ugcs::vsm::Piped_request_waiter::Ack ( )

Consume one notification event.

template<typename... Args>
static Ptr ugcs::vsm::Piped_request_waiter::Create ( Args &&...  args)
inlinestatic

Create an instance.

sockets::Socket_handle ugcs::vsm::Piped_request_waiter::Get_wait_pipe ( )
inline

Get the platform handler of the wait pipe.

virtual void ugcs::vsm::Piped_request_waiter::Notify ( )
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.


The documentation for this class was generated from the following file: