dtn7 / dtn7-rs

Rust implementation of a DTN based on RFC 9171
Other
81 stars 20 forks source link

Parallelrefactor #18

Closed lehmanju closed 8 months ago

lehmanju commented 2 years ago

This branch contains some changes to allow CLAs to distinguish between transmission and peer failures. It also enables direct sorting of bundles into appropriate per node buffers.

The problem with the original implementation was that bundles would be added to the corresponding per node connection channels in tcpcla. If one bundle fails to transmit because the connection closes, all bundles in queue fail to transmit and register as separate peer failures. This results in immediate removal of the peer even though it has only failed once. Now, a cla can report peer failures itself and check whether the connection has closed or just a single transfer has failed.