|
SHM
共有メモリを用いた高速で扱いやすいプロセス間通信マネージャ
|
共有メモリで使用するリングバッファを記述したクラス 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 () |
| bool | allocateBuffer (int buffer_num) |
| 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) |
| irlab::shm::RingBuffer::RingBuffer | ( | unsigned char * | first_ptr, |
| size_t | size = 0, |
||
| int | buffer_num = 0 |
||
| ) |
コンストラクタ
| [in] | 共有メモリ名 |
共有メモリへのアクセスを行う.
Definition at line 21 of file ring_buffer.cpp.
| const uint64_t irlab::shm::RingBuffer::getTimestamp_us | ( | ) | const |
タイムスタンプ取得
| なし |
直近で読み込んだトピックのタイムスタンプを返す.
Definition at line 92 of file ring_buffer.cpp.
| bool irlab::shm::RingBuffer::isUpdated | ( | ) | const |
共有メモリの更新確認
| なし |
直近で読み込んだタイムスタンプより新しいタイムスタンプが書き込まれたか確認する. 更新があった場合には真を、ない場合には偽を返す.
Definition at line 234 of file ring_buffer.cpp.
| void irlab::shm::RingBuffer::setTimestamp_us | ( | uint64_t | input_time_us, |
| int | buffer_num | ||
| ) |
タイムスタンプ取得
| なし |
直近で読み込んだトピックのタイムスタンプを返す.
Definition at line 103 of file ring_buffer.cpp.
| bool irlab::shm::RingBuffer::waitFor | ( | uint64_t | timeout_usec | ) |
トピックの更新待ち
| timeout_usec | 待ち時間[usec] |
待ち時間の間、トピックの更新を待ち続ける.更新された場合または待ち時間が経過した場合、関数を終了する.
Definition at line 198 of file ring_buffer.cpp.