Struct AstuteDDSGuardCondition
ClassList > AstuteDDSGuardCondition
#include <types.hpp>
Public Attributes
| Type | Name |
|---|---|
| int | pipe_read = { -1 }O_NONBLOCK read end. |
| int | pipe_write = { -1 }O_NONBLOCK write end. |
| std::atomic< bool > | triggered = { false }Set by rmw_trigger . |
Public Functions
| Type | Name |
|---|---|
| AstuteDDSGuardCondition () |
|
| AstuteDDSGuardCondition (const AstuteDDSGuardCondition &) = delete |
|
| AstuteDDSGuardCondition & | operator= (const AstuteDDSGuardCondition &) = delete |
| ~AstuteDDSGuardCondition () Close both pipe ends if they were opened. |
Detailed Description
State pointed to by rmw_guard_condition_t::data.
A guard condition is a manual-reset event that participates in rmw_wait. It is implemented as a non-blocking POSIX pipe pair so rmw_wait() can select() on the read end alongside other file descriptors. triggered ensures a single byte is written per trigger burst.
Public Attributes Documentation
variable pipe_read
O_NONBLOCK read end.
int AstuteDDSGuardCondition::pipe_read;
variable pipe_write
O_NONBLOCK write end.
int AstuteDDSGuardCondition::pipe_write;
variable triggered
Set by rmw_trigger .
std::atomic<bool> AstuteDDSGuardCondition::triggered;
Public Functions Documentation
function AstuteDDSGuardCondition [1/2]
inline AstuteDDSGuardCondition::AstuteDDSGuardCondition ()
Create the pipe pair (both ends O_NONBLOCK + O_CLOEXEC). On failure both fds remain -1 and callers must treat construction as failed.
function AstuteDDSGuardCondition [2/2]
AstuteDDSGuardCondition::AstuteDDSGuardCondition (
const AstuteDDSGuardCondition &
) = delete
function operator=
AstuteDDSGuardCondition & AstuteDDSGuardCondition::operator= (
const AstuteDDSGuardCondition &
) = delete
function ~AstuteDDSGuardCondition
Close both pipe ends if they were opened.
inline AstuteDDSGuardCondition::~AstuteDDSGuardCondition ()
The documentation for this class was generated from the following file include/astutedds/rmw/types.hpp