spacepackets/src/cfdp/pdu/eof.rs

27 lines
733 B
Rust
Raw Normal View History

2023-06-07 01:12:07 +02:00
use crate::cfdp::tlv::EntityIdTlv;
use crate::cfdp::ConditionCode;
#[cfg(feature = "serde")]
use serde::{Deserialize, Serialize};
2023-06-08 19:24:55 +02:00
use crate::cfdp::pdu::PduHeader;
2023-06-07 01:12:07 +02:00
#[derive(Debug, Copy, Clone, PartialEq, Eq)]
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
pub struct EofPdu {
2023-06-08 19:24:55 +02:00
pdu_header: PduHeader,
2023-06-07 01:12:07 +02:00
condition_code: ConditionCode,
file_checksum: u32,
file_size: u64,
fault_location: Option<EntityIdTlv>,
}
2023-06-08 19:24:55 +02:00
impl EofPdu {
pub fn new_no_error(pdu_header: PduHeader, file_checksum: u32, file_size: u64) -> Self {
Self {
pdu_header,
condition_code: ConditionCode::NoError,
file_checksum,
file_size,
fault_location: None
}
}
}