Expand description
CCSDS File Delivery Protocol (CFDP). CCSDS File Delivery Protocol (CFDP) Protocol
Spec: https://ccsds.org/Pubs/727x0b5e1.pdf
This module provides a complete CFDP implementation with both low-level state machines and high-level async APIs.
§Architecture
The implementation is split into layers:
- [
pdu]: PDU parsing and serialization - [
machine]: Pure, synchronous state machines (sender and receiver) - [
filestore]: Abstract file I/O trait - [
api]: High-level async API with explicit sender/receiver roles
§Features
tokio: Enables async API with tokio runtime supportcfs: Enables async API with leodos-libcfs runtime support
§Example (tokio)
ⓘ
use leodos_ccsds::cfdp::api::net::{CfdpSender, CfdpReceiver};
let mut sender = CfdpSender::new(entity_id);
let stream = sender.put("file.txt", "remote.txt", dest_id, addr).await?;
let mut receiver = CfdpReceiver::new(entity_id);
let file = receiver.accept().await;TODO: Finish this implementation
Modules§
- checksum
- Checksum algorithms for CFDP data integrity verification.
- class2
- Class 2 (acknowledged) CFDP state machines and transaction management.
- filestore
- Abstract file I/O trait for platform-independent file operations. The FileStore trait for abstracting file system operations.
- pdu
- PDU parsing, serialization, and zero-copy views. Defines the structures and serialization/deserialization logic for CCSDS File Delivery Protocol (CFDP) Protocol Data Units (PDUs).
Enums§
- Cfdp
Error - Errors that can occur during CFDP operations.