Restart contact streams after storage recovery
Release cached path snapshots before resetting contacts while retaining the requesting transport and table revision for a complete stream restart. Keep explicit session cancellation unchanged and avoid copying uncached contact buffers. Cover cached and uncached recovery, transport isolation, empty reloads, backpressure, and the former cancellation as a negative control.
This commit is contained in:
1 parent
587700a36a
commit
e5706bafa1
5 files changed
+232
-10
No files matched your search
@@ -40,8 +40,11 @@ sending along a different route. Contact I/O failures request bounded recovery
|
||||
between callbacks. A raw cached-path read fault first rechecks the current
|
||||
immutable paths without resetting accepted RAM changes or their save deadline.
|
||||
Persistent faults or uncertain file publication reload a readable live image,
|
||||
otherwise a readable backup,
|
||||
and discard only unrecoverable contact data if neither works. nRF52 preserves
|
||||
otherwise a readable backup, and discard only unrecoverable contact data if
|
||||
neither works. Recovery releases a pending contact-list snapshot before resetting
|
||||
the table but preserves its requesting route; the changed table revision starts
|
||||
a fresh list that can finish normally. Explicit session cancellation still stops
|
||||
the stream. nRF52 preserves
|
||||
healthy pages when another page is damaged. No archival `.bad` files are kept.
|
||||
If damaged contacts cannot be removed, the node remains usable with volatile
|
||||
contacts; explicit saves still report failure, while reboot/shutdown remain
|
||||
|
||||
Reference in new issue
Block a user