PDUHeader

Struct PDUHeader 

Source
pub struct PDUHeader {
    pub version: U3,
    pub pdu_type: PDUType,
    pub direction: Direction,
    pub transmission_mode: TransmissionMode,
    pub crc_flag: CRCFlag,
    pub large_file_flag: FileSizeFlag,
    pub pdu_data_field_length: u16,
    pub segmentation_control: SegmentationControl,
    pub segment_metadata_flag: SegmentedData,
    pub source_entity_id: EntityID,
    pub transaction_sequence_number: TransactionSeqNum,
    pub destination_entity_id: EntityID,
}
Expand description

The standard header attached to all CFDP PDUs.

Fields§

§version: U3

header version number.

§pdu_type: PDUType

The type of the underlying payload.

§direction: Direction

The direction in which this PDU is heading.

§transmission_mode: TransmissionMode

The mode of the transaction.

§crc_flag: CRCFlag

Whether a CRC is appended to the PDU byte stream.

§large_file_flag: FileSizeFlag

Flag to indicate if the file size is less than the maximum u32 value.

§pdu_data_field_length: u16

The length of attached payload.

When the CRC flag is set to CRCFlag::Present this struct will automatically account for the additional length during encoding.

§segmentation_control: SegmentationControl

Flag to indicate if segmentation control is enabled for this transaction.

§segment_metadata_flag: SegmentedData

Flag to indicate if metadata segmentation is enabled for this transaction.

§source_entity_id: EntityID

Source entity identification number.

§transaction_sequence_number: TransactionSeqNum

The sequence number of the transaction.

§destination_entity_id: EntityID

Destination entity identification number.

Trait Implementations§

Source§

impl Clone for PDUHeader

Source§

fn clone(&self) -> PDUHeader

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for PDUHeader

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PDUEncode for PDUHeader

Source§

type PDUType = PDUHeader

Source§

fn encoded_len(&self) -> u16

Gets the encoded length must fit in a u16 for PDUs
Source§

fn encode(self) -> Vec<u8>

Encodes the PDU to a byte stream
Source§

fn decode<T: Read>(buffer: &mut T) -> PDUResult<Self::PDUType>

Attempts to decode a PDU from a byte stream
Source§

impl PartialEq for PDUHeader

Source§

fn eq(&self, other: &PDUHeader) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for PDUHeader

Source§

impl StructuralPartialEq for PDUHeader

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more