nasa / bplib

Apache License 2.0
27 stars 13 forks source link

Fix #99, implement deduplication on storage input #104

Closed jphickey closed 2 years ago

jphickey commented 2 years ago

Implements a proper finite state machine on cache entities, as indicated in the documentation drawing. Bundles are held for an age-out period after deletion before final discard. If duplicate bundles arrive at any point while a bundle is present in storage, it will regenerate a custody ACK but will not store the bundle a second time.

Additionally this moves the "cache" service to a separate module and splits it up, as it was growing too large for a single source file.

Fixes #99