A highly customable, adaptable, runtime agnostic and WASM/WASI friendly Gossip protocol (SWIM) which helps manage cluster membership and member failure detection.
When two memberlist instances (using QuicTransport) in the same test case, and node1 joins node2, then, shut down node1, drops node1, and finally brings back node1 by using the same configuration, it will report the error "Address already in use". This may be caused by that the remote (node2) still holds the connection to node1, and the underlying socket address is held by the connection.
Pseudo code:
let n1 = Memberlist::new(...).await.unwrap();let n2 = Memberlist::new(...).await.unwrap();
n1.join(n2).await.unwrap();
n1.shutdown().await.unwrap();drop(n1);let n1 = Memberlist::new(...).await.unwrap();// panic: "Address already in used".
I am not familiar with Windows. I do not know why the sub-networks added by ci/setup_subnet_windows.ps1 cannot be connected and bind for IPv6 addresses like Ubuntu and MacOS in GitHub Action CI.