refactor(bob): EventLoop concurrency (#642)

* progress

* fix race condition where EventLoopHandle::swap_handle would take forever if event loop was not running

* add trace statements in bob event loop, inform swarm about redials

* progress

* revamp of protocols/swap_setup, reliable error propagation, slowly getting this to work...

* some formatting

* fix react shengigans

* If a connection handler died which had an assigned swap setup request, notify the swarm that the request failed

* key inflight swap setup request by (PeerId, SwapID) instead of just peer id

* add min height to swap state page

* extract should_acknowledge_transfer_proof out of event loop, propagate swap setup errors to event loop with context

* add --trace to justfile

* remove docker_test_all.sh

* add back the correct connection_keep_alive swap_setup/alice.rs

* fix some memory leaks

* let swarm_setup behaviour instruct swarm to dial peer

* fmt

* reduce diff

* remove redial::Redialing

* add trace statements to swap_setup/bob.rs

* extract swap setup protocol itself into run_swap_setup

* make queues unbounded, small nitpicks

* do not buffer transfer proof acknowledgements

* prevent swap_setup/bob.rs from keeping all connections alive

* buffer transfer proofs

* do not redial ALL peers

* keep all connections alive with swap_setup/bob.rs

* add comment
This commit is contained in:
Mohan 2025-11-08 17:48:15 +01:00 committed by GitHub
parent c0235827f0
commit 1f2a0605bc
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
19 changed files with 1158 additions and 507 deletions

View file

@ -52,7 +52,16 @@ export default function SwapWidget() {
flex: 1,
}}
>
<SwapStatePage state={swap.state} />
<Box
sx={{
display: "flex",
minHeight: "30vh",
flexDirection: "column",
justifyContent: "center",
}}
>
<SwapStatePage state={swap.state} />
</Box>
{swap.state !== null && (
<>
<SwapStateStepper state={swap.state} />