7 #ifndef Svc_Ccsds_Cfdp_NakPdu_HPP 8 #define Svc_Ccsds_Cfdp_NakPdu_HPP 40 NakPdu() : m_scopeStart(0), m_scopeEnd(0), m_numSegments(0) {}
99 #endif // Svc_Ccsds_Cfdp_NakPdu_HPP
FileDirective getDirectiveCode() const
Get directive code.
FileSize getScopeStart() const
Get scope start.
Segment request structure for NAK PDU.
const PduHeader & asHeader() const
Get this as a Header.
U8 getNumSegments() const
Get number of segments.
U32 EntityId
Entity id size.
FileSize getScopeEnd() const
Get scope end.
SerializeStatus
forward declaration for string
Fw::SerializeStatus serializeTo(Fw::SerialBufferBase &buffer, Fw::Endianness mode=Fw::Endianness::BIG) const override
Fw::Serializable interface - serialize to buffer.
U32 TransactionSeq
transaction sequence number size
FileSize offsetEnd
End offset of missing data.
PduHeader m_header
The PDU header (common to all PDUs)
void initialize(PduDirection direction, Cfdp::Class::T txmMode, EntityId sourceEid, TransactionSeq transactionSeq, EntityId destEid, FileSize scopeStart, FileSize scopeEnd)
Initialize a NAK PDU.
bool addSegment(FileSize offsetStart, FileSize offsetEnd)
U32 FileSize
File size and offset type.
uint8_t U8
8-bit unsigned integer
FileSize offsetStart
Start offset of missing data.
void clearSegments()
Clear all segment requests.
RateGroupDivider component implementation.
const SegmentRequest & getSegment(U8 index) const
Get segment at index (no bounds checking - caller must verify index < getNumSegments()) ...
Fw::SerializeStatus deserializeFrom(Fw::SerialBufferBase &buffer, Fw::Endianness mode=Fw::Endianness::BIG) override
Fw::Serializable interface - deserialize from buffer.
U32 getBufferSize() const override
Compute the buffer size needed.
Big endian serialization.