nasa / CF

The Core Flight System (cFS) CFDP application.
Apache License 2.0
76 stars 45 forks source link

Support polling with no delay #380

Closed skliper closed 1 year ago

skliper commented 1 year ago

Checklist (Please check before submitting)

Is your feature request related to a problem? Please describe. Polling has a timer that doesn't support zero delay, limiting performance: https://github.com/nasa/CF/blob/930b0e51183ec9ce501ebe4210a1d777d5866496/fsw/inc/cf_tbldefs.h#L36-L40 https://github.com/nasa/CF/blob/930b0e51183ec9ce501ebe4210a1d777d5866496/fsw/src/cf_cfdp.c#L1513-L1515 https://github.com/nasa/CF/blob/930b0e51183ec9ce501ebe4210a1d777d5866496/unit-test/cf_cfdp_tests.c#L1144-L1148

Describe the solution you'd like There's already a channel enable, no need to use interval to disable the channel. Update to support 0 delay to maximize throughput when using the polling directory.

Describe alternatives you've considered None

Additional context I can't say I really understand why 0 timeout wasn't supported to begin with. If anyone knows I'd be interested to hear it. In rate constrained situations unnecessary delays on file transfers are a big impact. Sending small files on a fast link could waste significant bandwidth by waiting a second between polling.

Requester Info Jacob Hageman - NASA/GSFC