CFDP extracted to library #201

Closed
muellerr wants to merge 18 commits from continue-cfsp-source-handler into main
3 changed files with 6 additions and 3 deletions
Showing only changes of commit d3aa56a954 - Show all commits

View File

@ -25,7 +25,7 @@ optional = true
version = ">0.9" version = ">0.9"
default-features = false default-features = false
git = "https://egit.irs.uni-stuttgart.de/rust/spacepackets" git = "https://egit.irs.uni-stuttgart.de/rust/spacepackets"
branch = "all-cfdp-updates" branch = "main"
[features] [features]
serde = ["dep:serde", "spacepackets/serde"] serde = ["dep:serde", "spacepackets/serde"]

View File

@ -31,7 +31,7 @@ default-features = false
version = "0.12" version = "0.12"
default-features = false default-features = false
git = "https://egit.irs.uni-stuttgart.de/rust/spacepackets" git = "https://egit.irs.uni-stuttgart.de/rust/spacepackets"
branch = "eof-pdu-update" branch = "main"
[dependencies.cobs] [dependencies.cobs]
git = "https://github.com/robamu/cobs.rs.git" git = "https://github.com/robamu/cobs.rs.git"

View File

@ -352,6 +352,7 @@ impl<
} }
if self.state_helper.step == TransactionStep::NoticeOfCompletion { if self.state_helper.step == TransactionStep::NoticeOfCompletion {
self.notice_of_completion(cfdp_user); self.notice_of_completion(cfdp_user);
self.reset();
/* /*
def _notice_of_completion(self): def _notice_of_completion(self):
if self.cfg.indication_cfg.transaction_finished_indication_required: if self.cfg.indication_cfg.transaction_finished_indication_required:
@ -709,6 +710,8 @@ impl<
/// This function is public to allow completely resetting the handler, but it is explicitely /// This function is public to allow completely resetting the handler, but it is explicitely
/// discouraged to do this. CFDP has mechanism to detect issues and errors on itself. /// discouraged to do this. CFDP has mechanism to detect issues and errors on itself.
/// Resetting the handler might interfere with these mechanisms and lead to unexpected
/// behaviour.
pub fn reset(&mut self) { pub fn reset(&mut self) {
self.state_helper = Default::default(); self.state_helper = Default::default();
self.tstate = None; self.tstate = None;
@ -767,7 +770,7 @@ mod tests {
let fault_handler = TestFaultHandler::default(); let fault_handler = TestFaultHandler::default();
let test_sender = TestCfdpSender::default(); let test_sender = TestCfdpSender::default();
let source_handler = default_source_handler(fault_handler, test_sender); let source_handler = default_source_handler(fault_handler, test_sender);
// assert!(dest_handler.transmission_mode().is_none()); assert!(source_handler.transmission_mode().is_none());
// assert!(fault_handler.all_queues_empty()); // assert!(fault_handler.all_queues_empty());
} }
} }