From bd774fdfda6aaf5195d1db1936fe5116ae715318 Mon Sep 17 00:00:00 2001 From: Rae McKelvey <633012+okdistribute@users.noreply.github.com> Date: Thu, 11 Jun 2026 13:26:49 -0700 Subject: [PATCH] Fix Rust custom relay example RelayMode::Custom takes a RelayMap, not a Vec, so the previous example did not compile. Also fix the RelayUrl import path (crate root, there is no iroh::relay module) and pass the now-required preset to Endpoint::builder. Verified with cargo check against iroh 1.0.0-rc.1. Fixes #53 Co-Authored-By: Claude Fable 5 --- snippets/relay-endpoint-config.mdx | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/snippets/relay-endpoint-config.mdx b/snippets/relay-endpoint-config.mdx index d76641e..3025825 100644 --- a/snippets/relay-endpoint-config.mdx +++ b/snippets/relay-endpoint-config.mdx @@ -1,16 +1,18 @@ ```rust Rust -use iroh::Endpoint; -use iroh::relay::RelayUrl; +use iroh::{Endpoint, RelayMap, RelayMode, RelayUrl, endpoint::presets}; #[tokio::main] async fn main() -> anyhow::Result<()> { let relay_url1: RelayUrl = "YOUR_RELAY_URL_US".parse()?; let relay_url2: RelayUrl = "YOUR_RELAY_URL_EU".parse()?; - let endpoint = Endpoint::builder() - .relay_mode(iroh::endpoint::RelayMode::Custom(vec![relay_url1, relay_url2])) + let endpoint = Endpoint::builder(presets::N0) + .relay_mode(RelayMode::Custom(RelayMap::from_iter([ + relay_url1, + relay_url2, + ]))) .bind() .await?;