|
lintel 0.2.0
|
#include <PropertyChange.h>
Public Member Functions | |
| std::string | identifier () const |
Static Public Member Functions | |
| static PropertyChange | of (PropertyBase &property) |
Public Attributes | |
| char | processName [PART_SIZE] {} |
| char | className [PART_SIZE] {} |
| char | instanceName [PART_SIZE] {} |
| char | name [PART_SIZE] {} |
| char | value [VALUE_SIZE] {} |
| bool | m_valueTruncated = false |
Static Public Attributes | |
| static constexpr std::size_t | PART_SIZE = 32 |
| static constexpr std::size_t | VALUE_SIZE = Event::CONTENT_SIZE - 4 * PART_SIZE - 1 |
| static constexpr std::size_t | MAX_VALUE_LENGTH = VALUE_SIZE - 1 |
Fixed-size change notification for a property, exchanged over the EventBus.
Carries the property coordinates and the new value as a string. The struct is trivially copyable and fits into the Event payload, so it can be stored inside the lock-free queues of the bus.
Values longer than the value buffer are marked as truncated (m_valueTruncated). The receiving side must then resolve the full value from a locked source (e.g. the shared memory repository) instead of using the truncated string; a truncated change is never applied with a wrong value.
|
inline |
|
inlinestatic |
Create a change notification from a property.
| property | the property that was changed |
True if the value did not fit into the buffer and was truncated.
|
staticconstexpr |
Maximum length of the value that fits into the buffer.
|
staticconstexpr |
Buffer size for each identifier part.
| char lintel::PropertyChange::value[VALUE_SIZE] {} |
|
staticconstexpr |
Buffer size for the serialized value string (including terminator).