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
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|