SHM
Shared-memorybasedHandy-communicationManager
|
Class that is described ring-buffer used for shared memory. More...
#include <shm_base.hpp>
Public Member Functions | |
RingBuffer (unsigned char *first_ptr, size_t size=0, int buffer_num=0) | |
コンストラクタ More... | |
const uint64_t | getTimestamp_us () const |
タイムスタンプ取得 More... | |
void | setTimestamp_us (uint64_t input_time_us, int buffer_num) |
タイムスタンプ取得 More... | |
int | getNewestBufferNum () |
int | getOldestBufferNum () |
size_t | getElementSize () const |
unsigned char * | getDataList () |
void | signal () |
bool | waitFor (uint64_t timeout_usec) |
トピックの更新待ち More... | |
bool | isUpdated () const |
共有メモリの更新確認 More... | |
void | setDataExpiryTime_us (uint64_t time_us) |
Static Public Member Functions | |
static size_t | getSize (size_t element_size, int buffer_num) |
Class that is described ring-buffer used for shared memory.
Definition at line 135 of file shm_base.hpp.
irlab::shm::RingBuffer::RingBuffer | ( | unsigned char * | first_ptr, |
size_t | size = 0 , |
||
int | buffer_num = 0 |
||
) |
コンストラクタ
[in] | 共有メモリ名 |
共有メモリへのアクセスを行う.
Definition at line 20 of file ring_buffer.cpp.
const uint64_t irlab::shm::RingBuffer::getTimestamp_us | ( | ) | const |
タイムスタンプ取得
なし |
直近で読み込んだトピックのタイムスタンプを返す.
Definition at line 91 of file ring_buffer.cpp.
bool irlab::shm::RingBuffer::isUpdated | ( | ) | const |
共有メモリの更新確認
なし |
直近で読み込んだタイムスタンプより新しいタイムスタンプが書き込まれたか確認する. 更新があった場合には真を、ない場合には偽を返す.
Definition at line 205 of file ring_buffer.cpp.
void irlab::shm::RingBuffer::setTimestamp_us | ( | uint64_t | input_time_us, |
int | buffer_num | ||
) |
タイムスタンプ取得
なし |
直近で読み込んだトピックのタイムスタンプを返す.
Definition at line 102 of file ring_buffer.cpp.
bool irlab::shm::RingBuffer::waitFor | ( | uint64_t | timeout_usec | ) |
トピックの更新待ち
timeout_usec | 待ち時間[usec] |
待ち時間の間、トピックの更新を待ち続ける.更新された場合または待ち時間が経過した場合、関数を終了する.
Definition at line 169 of file ring_buffer.cpp.