79 if (txn->m_history && (txn->m_history->
src_eid == seqContext->
src_eid) &&
81 seqContext->
txn = txn;
93 if (txn->m_priority <= arg->
priority) {
Argument structure for use with CfdpCListTraverseR()
Transaction * txn
output transaction pointer
CFDP Transaction state machine class.
CListTraverseStatus
Traverse status for circular list operations.
CListTraverseStatus PrioSearch(CListNode *node, void *context)
Searches for the first transaction with a lower priority than given.
static CListTraverseStatus prioritySearchCallback(CListNode *node, void *context)
Static callback for priority search.
Continue traversing the list.
TxnStatus
Values for Transaction Status code.
TransactionSeq transaction_sequence_number
State assigned to a transaction after freeing it.
Argument structure for use with CList_Traverse()
ConditionCode TxnStatusToConditionCode(TxnStatus txn_stat)
Converts the internal transaction status to a CFDP condition code.
TxnState getState() const
Get transaction state.
Stop traversing the list.
static CListTraverseStatus findBySequenceNumberCallback(CListNode *node, void *context)
Static callback for finding transaction by sequence number.
Transaction * txn
OUT: holds value of transaction with which to call CfdpCListInsertAfter on.
CListTraverseStatus FindTransactionBySequenceNumberImpl(CListNode *node, void *context)
List traversal function to check if the desired sequence number matches.
State where all PDUs are dropped.
TransactionSeq seq_num
transaction identifier, stays constant for entire transfer
constexpr Container * container_of_cpp(Member *member_ptr, Member Container::*member)
Obtains a pointer to the parent structure.
U8 priority
seeking this priority
Circular linked list node structure.
RateGroupDivider component implementation.
EntityId src_eid
the source eid of the transaction
AckTxnStatus GetTxnStatus(Transaction *txn)
Gets the status of this transaction.
bool TxnStatusIsError(TxnStatus txn_stat)
Check if the internal transaction status represents an error.