#include <FieldTrackerDataManager.h>
Implementation of FieldDataManager for shared setting fields.
const void * fesa::FieldTrackerDataManager::getFieldAddress |
( |
uint16_t |
bufferIndex, |
|
|
uint32_t |
fieldIndex |
|
) |
| |
|
virtual |
Returns the address of the field whose index id fieldIndex in the reader buffer whose index is bufferIndex.
Implements fesa::FieldDataManager.
std::size_t fesa::FieldTrackerDataManager::getSharedFieldsSize |
( |
std::size_t |
numberOfFieldSlots, |
|
|
bool |
multiProcess |
|
) |
| const |
|
virtual |
Returns the size of the fields shared between the server and RT parts.
- Parameters
-
numberOfFieldSlots | total number of field slots to reserve memory for. |
multiProcess | true if multiple process will access the shared fields, false otherwise |
Implements fesa::FieldDataManager.
void fesa::FieldTrackerDataManager::initialCopy |
( |
| ) |
|
|
virtual |
Performs the initial copy of the data from the reference buffer to the reader buffers. Called once before any call to update().
Implements fesa::DataManager.
void fesa::FieldTrackerDataManager::mapSharedFields |
( |
char * |
memory, |
|
|
std::size_t |
numberOfFieldSlots, |
|
|
bool |
multiProcess, |
|
|
bool |
first |
|
) |
| |
|
virtual |
Maps the shared fields, starting at the address pointed to by memory.
- Parameters
-
memory | address where the mapping starts |
numberOfFieldSlots | number of field slots for which memory was reserved |
multiProcess | true if multiple process will access the shared fields, false otherwise |
first | true if shared fields must be initialized (typically when fields are mapped for the first time), false otherwise. |
Implements fesa::FieldDataManager.
uint32_t fesa::FieldTrackerDataManager::registerField |
( |
AbstractField & |
field | ) |
|
|
virtual |
uint32_t fesa::FieldTrackerDataManager::registerModifiedFields |
( |
const std::set< ModifiedField > & |
fields | ) |
|
|
virtual |
Registers a field as modified. To be called after field slots have been modified, so that they will be synchronized.
Implements fesa::FieldDataManager.
void fesa::FieldTrackerDataManager::update |
( |
uint16_t |
oldIndex, |
|
|
uint16_t |
newIndex |
|
) |
| |
|
virtual |
Updates the reader buffers. Called by BufferSynchronizer when an update can be safely done.
- Parameters
-
oldIndex | index of the reader buffer which is about to become the old buffer |
newIndex | index of the reader buffer which is about to become the new buffer |
Implements fesa::DataManager.
The documentation for this class was generated from the following files:
- FieldTrackerDataManager.h
- FieldTrackerDataManager.cpp