Struct AstuteDDSGuardCondition

ClassList > AstuteDDSGuardCondition

More...

  • #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