Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

File receive transactions are not canceled when a fault is detected #128

Closed
semaldona opened this issue Dec 13, 2021 · 1 comment · Fixed by #248
Closed

File receive transactions are not canceled when a fault is detected #128

semaldona opened this issue Dec 13, 2021 · 1 comment · Fixed by #248

Comments

@semaldona
Copy link

Per requirement CF2002.1, CF should cancel the transaction when a fault is detected. Currently when CF detects a fault it will issue an event message an increment the fault counter. However it will continue to retry or closeout the transaction by issuing ACK or NAK PDUs. Some of this behavior appears to be consistent with CFDP Class 2 handling. Either the requirement needs updating or CF should comply and not attempt to continue the transaction when a fault is detected.

@astrogeco astrogeco added this to the Draco milestone May 11, 2022
@skliper
Copy link
Contributor

skliper commented May 23, 2022

It seems like the implementation makes sense per the walk through analysis results below. Recommend requirement update to better capture behavior (doesn't "cancel" the transaction, just closes it out per whatever method is appropriate).

Five cases from CF2002.1.2:

  1. Positive Ack Limit Reached
  • Looks like transaction is reset in this case (class 2 only)
  1. Filestore Rejection
  • Sends FIN to try to close out transaction with the FILESTORE_REJECTION command code (resets for class 1)
  1. File-CRC Mismatch Failure
  • This happens at the end for class 1, just deletes the file. For class 2 it'll send FIN to close out with FILE_CHECKSUM_FILAURE command code
  1. File-Size Error
  • At Eof, sends FIN and close out transaction with FILE_SIZE_ERROR command code
  1. NAK Limit Reached
  • Sends FIN with NAK_LIMIT_REACHED (class 2 only, NA for class 1)
  1. Inactivity Limit Reached
  • Sends FIN with INACTIVITY_DETECTED (resets for class 1)
  1. Suspend Request Received

skliper added a commit to skliper/CF that referenced this issue May 24, 2022
skliper added a commit to skliper/CF that referenced this issue May 24, 2022
astrogeco added a commit that referenced this issue May 31, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants