The SharedMemoryFragmentManager is a SharedMemoryManager that deals with Fragment transfers using a SharedMemoryManager. More...
#include <artdaq-core/Core/SharedMemoryFragmentManager.hh>
Public Member Functions | |
SharedMemoryFragmentManager (uint32_t shm_key, size_t buffer_count, size_t max_buffer_size, size_t buffer_timeout_us=100 *1000000) | |
SharedMemoryFragmentManager Constructor. | |
virtual | ~SharedMemoryFragmentManager () |
SharedMemoryFragmentManager destructor. | |
int | WriteFragment (Fragment &&fragment, bool overwrite) |
Write a Fragment to the Shared Memory. | |
int | ReadFragment (Fragment &fragment) |
Read a Fragment from the Shared Memory. | |
int | ReadFragmentHeader (detail::RawFragmentHeader &header) |
Read a Fragment Header from the Shared Memory. | |
int | ReadFragmentData (RawDataType *destination, size_t words) |
Read Fragment Data from the Shared Memory. |
The SharedMemoryFragmentManager is a SharedMemoryManager that deals with Fragment transfers using a SharedMemoryManager.
Definition at line 11 of file SharedMemoryFragmentManager.hh.
artdaq::SharedMemoryFragmentManager::SharedMemoryFragmentManager | ( | uint32_t | shm_key, | |
size_t | buffer_count, | |||
size_t | max_buffer_size, | |||
size_t | buffer_timeout_us = 100 * 1000000 | |||
) |
SharedMemoryFragmentManager Constructor.
shm_key | The key to use when attaching/creating the shared memory segment | |
buffer_count | The number of buffers in the shared memory | |
max_buffer_size | The size of each buffer | |
buffer_timeout_us | The maximum amount of time a buffer may be locked before being returned to its previous state. This timer is reset upon any operation by the owning SharedMemoryManager. |
Definition at line 7 of file SharedMemoryFragmentManager.cc.
int artdaq::SharedMemoryFragmentManager::ReadFragment | ( | Fragment & | fragment | ) |
Read a Fragment from the Shared Memory.
fragment | Output Fragment object |
Definition at line 34 of file SharedMemoryFragmentManager.cc.
int artdaq::SharedMemoryFragmentManager::ReadFragmentData | ( | RawDataType * | destination, | |
size_t | words | |||
) |
Read Fragment Data from the Shared Memory.
destination | Destination for data | |
words | RawDataType Word count to read |
Definition at line 63 of file SharedMemoryFragmentManager.cc.
int artdaq::SharedMemoryFragmentManager::ReadFragmentHeader | ( | detail::RawFragmentHeader & | header | ) |
Read a Fragment Header from the Shared Memory.
header | Output Fragment Header |
Definition at line 48 of file SharedMemoryFragmentManager.cc.
int artdaq::SharedMemoryFragmentManager::WriteFragment | ( | Fragment && | fragment, | |
bool | overwrite | |||
) |
Write a Fragment to the Shared Memory.
fragment | Fragment to write | |
overwrite | Whether to set the overwrite flag |
Definition at line 14 of file SharedMemoryFragmentManager.cc.