7 #ifndef Svc_ComAggregator_HPP 8 #define Svc_ComAggregator_HPP 108 void Svc_AggregationMachine_action_doClear(
SmId smId,
115 void Svc_AggregationMachine_action_doFill(
SmId smId,
123 void Svc_AggregationMachine_action_doSend(
SmId smId,
130 void Svc_AggregationMachine_action_doHold(
SmId smId,
138 void Svc_AggregationMachine_action_doSplitHold(
SmId smId,
146 void Svc_AggregationMachine_action_doNoteFailure(
SmId smId,
153 void Svc_AggregationMachine_action_assertNoStatus(
SmId smId,
165 bool Svc_AggregationMachine_guard_isFull(
SmId smId,
173 bool Svc_AggregationMachine_guard_willFill(
SmId smId,
181 bool Svc_AggregationMachine_guard_isNotEmpty(
SmId smId,
188 bool Svc_AggregationMachine_guard_isGood(
SmId smId,
196 bool Svc_AggregationMachine_guard_isSpanFull(
SmId smId,
214 void markFirstHeaderIfUnset();
221 void fillResidualWithIdle();
229 void dropLostFrameState();
232 static constexpr U16 FHP_UNSET = 0xFFFF;
237 std::atomic<Fw::Buffer::OwnershipState> m_bufferState{
245 std::atomic<bool> m_allow_timeout;
254 bool m_lastFrameLost;
PlatformSizeType FwSizeType
friend class ComAggregatorTester
SmId
State machine identifiers.
static constexpr FwSizeType MIN_NON_SPANNING_AGGREGATION_SIZE
Smallest aggregate that holds a full com buffer and a full file buffer Space Packet without spanning...
~ComAggregator()
Destroy ComAggregator object.
void preamble() override
A function that will be called before the event loop is entered.
constexpr FwSizeType MIN_SIZE
Minimum idle packet size: header plus one byte of idle data.
uint8_t U8
8-bit unsigned integer
Auto-generated base for ComAggregator component.
Memory Allocation base class.
ComAggregator(const char *const compName)
Construct ComAggregator object.
PlatformIndexType FwIndexType
Type used to pass context info between components during framing/deframing.
External serialize buffer with member copy semantics.
RateGroupDivider component implementation.
Defines a base class for a memory allocator for classes.
The buffer is currently owned.
void configure(FwSizeType aggregationSize, bool spanningEnabled, FwEnumStoreType allocationId, Fw::MemAllocator &allocator)