Skip to content

Commit 7fb3ad1

Browse files
Frandomatheus23
andauthored
refactor(iroh-willow): refactor peer manager so that proptest passes reliably (#2727)
## Description Fixes #2695 * Refactor peer manager to really keep track of all connections, the previous logic of a single peer state was flawed for simultaneous accepts while closing previous connections. * Better debuggability of reconciler * Add proptest from #2695 and refactor to run in both directions simultaneously. ## Breaking Changes <!-- Optional, if there are any breaking changes document them, including how to migrate older code. --> ## Notes & open questions <!-- Any notes, remarks or open questions you have to make about the PR. --> ## Change checklist - [ ] Self-review. - [ ] Documentation updates following the [style guide](https://rust-lang.github.io/rfcs/1574-more-api-documentation-conventions.html#appendix-a-full-conventions-text), if relevant. - [ ] Tests if relevant. - [ ] All breaking changes documented. --------- Co-authored-by: Philipp Krüger <philipp.krueger1@gmail.com>
1 parent a202b56 commit 7fb3ad1

File tree

8 files changed

+386
-288
lines changed

8 files changed

+386
-288
lines changed

Cargo.lock

Lines changed: 40 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

iroh-willow/src/engine/actor.rs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -265,9 +265,8 @@ impl Drop for ActorHandle {
265265

266266
// shutdown
267267
let shutdown = move || {
268-
if let Err(err) = inbox_tx.blocking_send(Input::Shutdown { reply: None }) {
269-
warn!(?err, "Failed to send shutdown");
270-
} else if let Err(err) = handle.join() {
268+
inbox_tx.blocking_send(Input::Shutdown { reply: None }).ok();
269+
if let Err(err) = handle.join() {
271270
warn!(?err, "Failed to join sync actor");
272271
}
273272
};

0 commit comments

Comments
 (0)