feat!: factor DHT rendezvous into iroh-gossip-rendezvous 0.1
The partition-healing / DHT-rendezvous algorithm that used to live in `src/gossip.rs` is now its own crate, published as `iroh-gossip-rendezvous` 0.1.0. Bridge depends on it for swarm discovery; the 760-line gossip module shrinks to ~75 lines of glue. `dht-partition-healing.md` is reduced to a pointer at the new crate's `PROTOCOL.md` — the normative spec moved with the code. ### Dependency changes - **New:** `iroh-gossip-rendezvous = "0.1"` (path + version for local dev; publish strips the path). - **Bumped:** `iroh` and `iroh-gossip` 0.97 → 0.98 (major). - **Removed:** direct deps on `mainline`, `sha2`, `zeroize` — all now transitive via `iroh-gossip-rendezvous`. - `donglora-client` spec loosened from `"1.0.0"` to `"1"` so patch and minor releases of the client propagate automatically. BREAKING CHANGE: any direct users of `bridge::gossip` internals relied on the in-bridge partition-healing types that have moved. Import from `iroh_gossip_rendezvous::…` instead.
This commit is contained in:
7 files changed
+813
-1032
No files matched your search
+2
-2
@@ -144,7 +144,7 @@ mod tests {
|
||||
|
||||
#[test]
|
||||
fn gossip_frame_roundtrip() {
|
||||
let key = iroh::SecretKey::generate(&mut rand::rng());
|
||||
let key = iroh::SecretKey::generate();
|
||||
let frame = GossipFrame::new(&key.public(), -85, 8, vec![1, 2, 3, 4, 5]);
|
||||
let encoded = frame.encode();
|
||||
let decoded = GossipFrame::decode(&encoded).expect("decode should succeed");
|
||||
@@ -235,7 +235,7 @@ mod tests {
|
||||
snr in -32i16..=32i16,
|
||||
payload in proptest::collection::vec(any::<u8>(), 0..256),
|
||||
) {
|
||||
let key = iroh::SecretKey::generate(&mut rand::rng());
|
||||
let key = iroh::SecretKey::generate();
|
||||
let frame = GossipFrame::new(&key.public(), rssi, snr, payload.clone());
|
||||
let encoded = frame.encode();
|
||||
let decoded = GossipFrame::decode(&encoded).unwrap();
|
||||
|
||||
Reference in new issue
Block a user