Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit 0f10a98

Browse files
committedNov 21, 2024·
Don't replicate endpoint builder API on the node builder. Instead just pass in an endpoint builder optionally...
1 parent e30cab3 commit 0f10a98

File tree

1 file changed

+29
-93
lines changed

1 file changed

+29
-93
lines changed
 

‎src/rpc/client/blobs.rs

Lines changed: 29 additions & 93 deletions
Original file line numberDiff line numberDiff line change
@@ -1005,9 +1005,7 @@ mod tests {
10051005
//! An iroh node that just has the blobs transport
10061006
use std::{path::Path, sync::Arc};
10071007

1008-
use iroh_net::{
1009-
discovery::Discovery, dns::DnsResolver, key::SecretKey, NodeAddr, NodeId, RelayMode,
1010-
};
1008+
use iroh_net::{NodeAddr, NodeId};
10111009
use quic_rpc::transport::{Connector, Listener};
10121010
use tokio_util::task::AbortOnDropHandle;
10131011

@@ -1034,56 +1032,22 @@ mod tests {
10341032
pub struct Builder<S> {
10351033
store: S,
10361034
events: EventSender,
1037-
secret_key: Option<SecretKey>,
1038-
dns_resolver: Option<DnsResolver>,
1039-
node_discovery: Option<Box<dyn Discovery>>,
1040-
insecure_skip_relay_cert_verify: bool,
1041-
relay_mode: RelayMode,
1035+
endpoint: Option<iroh_net::endpoint::Builder>,
10421036
}
10431037

10441038
impl<S: crate::store::Store> Builder<S> {
1045-
/// Sets the relay mode
1046-
pub fn relay_mode(self, mode: RelayMode) -> Self {
1047-
Self {
1048-
relay_mode: mode,
1049-
..self
1050-
}
1051-
}
1052-
1053-
/// Skip relay certificate verification
1054-
pub fn insecure_skip_relay_cert_verify(self, value: bool) -> Self {
1055-
Self {
1056-
insecure_skip_relay_cert_verify: value,
1057-
..self
1058-
}
1059-
}
1060-
1061-
pub fn dns_resolver(self, value: DnsResolver) -> Self {
1062-
Self {
1063-
dns_resolver: Some(value),
1064-
..self
1065-
}
1066-
}
1067-
1068-
pub fn node_discovery(self, value: Box<dyn Discovery>) -> Self {
1069-
Self {
1070-
node_discovery: Some(value),
1071-
..self
1072-
}
1073-
}
1074-
1075-
/// Sets the secret key
1076-
pub fn secret_key(self, secret_key: SecretKey) -> Self {
1039+
/// Sets the event sender
1040+
pub fn blobs_events(self, events: impl CustomEventSender) -> Self {
10771041
Self {
1078-
secret_key: Some(secret_key),
1042+
events: events.into(),
10791043
..self
10801044
}
10811045
}
10821046

1083-
/// Sets the event sender
1084-
pub fn blobs_events(self, events: impl CustomEventSender) -> Self {
1047+
/// Set an endpoint builder
1048+
pub fn endpoint(self, endpoint: iroh_net::endpoint::Builder) -> Self {
10851049
Self {
1086-
events: events.into(),
1050+
endpoint: Some(endpoint),
10871051
..self
10881052
}
10891053
}
@@ -1109,27 +1073,11 @@ mod tests {
11091073
)> {
11101074
let store = self.store;
11111075
let events = self.events;
1112-
let builder = iroh_net::Endpoint::builder()
1113-
.discovery_n0()
1114-
.insecure_skip_relay_cert_verify(self.insecure_skip_relay_cert_verify)
1115-
.relay_mode(self.relay_mode);
1116-
let builder = if let Some(secret_key) = self.secret_key {
1117-
builder.secret_key(secret_key)
1118-
} else {
1119-
builder
1120-
};
1121-
let builder = if let Some(dns_resolver) = self.dns_resolver {
1122-
builder.dns_resolver(dns_resolver)
1123-
} else {
1124-
builder
1125-
};
1126-
let builder = if let Some(node_discovery) = self.node_discovery {
1127-
builder.discovery(node_discovery)
1128-
} else {
1129-
builder
1130-
};
1131-
1132-
let endpoint = builder.bind().await?;
1076+
let endpoint = self
1077+
.endpoint
1078+
.unwrap_or_else(|| iroh_net::Endpoint::builder().discovery_n0())
1079+
.bind()
1080+
.await?;
11331081
let local_pool = LocalPool::single();
11341082
let mut router = iroh_router::Router::builder(endpoint.clone());
11351083

@@ -1187,11 +1135,7 @@ mod tests {
11871135
Builder {
11881136
store: crate::store::mem::Store::new(),
11891137
events: Default::default(),
1190-
secret_key: None,
1191-
relay_mode: RelayMode::Default,
1192-
insecure_skip_relay_cert_verify: false,
1193-
dns_resolver: None,
1194-
node_discovery: None,
1138+
endpoint: None,
11951139
}
11961140
}
11971141

@@ -1202,11 +1146,7 @@ mod tests {
12021146
Ok(Builder {
12031147
store: crate::store::fs::Store::load(path).await?,
12041148
events: Default::default(),
1205-
secret_key: None,
1206-
relay_mode: RelayMode::Default,
1207-
insecure_skip_relay_cert_verify: false,
1208-
dns_resolver: None,
1209-
node_discovery: None,
1149+
endpoint: None,
12101150
})
12111151
}
12121152

@@ -1960,16 +1900,14 @@ mod tests {
19601900
let _guard = iroh_test::logging::setup();
19611901
let (relay_map, relay_url, _guard) = iroh_net::test_utils::run_relay_server().await?;
19621902

1963-
let node1 = Node::memory()
1903+
let endpoint1 = iroh_net::Endpoint::builder()
19641904
.relay_mode(RelayMode::Custom(relay_map.clone()))
1965-
.insecure_skip_relay_cert_verify(true)
1966-
.spawn()
1967-
.await?;
1968-
let node2 = Node::memory()
1905+
.insecure_skip_relay_cert_verify(true);
1906+
let node1 = Node::memory().endpoint(endpoint1).spawn().await?;
1907+
let endpoint2 = iroh_net::Endpoint::builder()
19691908
.relay_mode(RelayMode::Custom(relay_map.clone()))
1970-
.insecure_skip_relay_cert_verify(true)
1971-
.spawn()
1972-
.await?;
1909+
.insecure_skip_relay_cert_verify(true);
1910+
let node2 = Node::memory().endpoint(endpoint2).spawn().await?;
19731911
let AddOutcome { hash, .. } = node1.blobs().add_bytes(b"foo".to_vec()).await?;
19741912

19751913
// create a node addr with only a relay URL, no direct addresses
@@ -1995,23 +1933,21 @@ mod tests {
19951933
let dns_pkarr_server = DnsPkarrServer::run().await?;
19961934

19971935
let secret1 = SecretKey::generate();
1998-
let node1 = Node::memory()
1999-
.secret_key(secret1.clone())
1936+
let endpoint1 = iroh_net::Endpoint::builder()
20001937
.relay_mode(RelayMode::Custom(relay_map.clone()))
20011938
.insecure_skip_relay_cert_verify(true)
20021939
.dns_resolver(dns_pkarr_server.dns_resolver())
2003-
.node_discovery(dns_pkarr_server.discovery(secret1))
2004-
.spawn()
2005-
.await?;
1940+
.secret_key(secret1.clone())
1941+
.discovery(dns_pkarr_server.discovery(secret1));
1942+
let node1 = Node::memory().endpoint(endpoint1).spawn().await?;
20061943
let secret2 = SecretKey::generate();
2007-
let node2 = Node::memory()
2008-
.secret_key(secret2.clone())
1944+
let endpoint2 = iroh_net::Endpoint::builder()
20091945
.relay_mode(RelayMode::Custom(relay_map.clone()))
20101946
.insecure_skip_relay_cert_verify(true)
20111947
.dns_resolver(dns_pkarr_server.dns_resolver())
2012-
.node_discovery(dns_pkarr_server.discovery(secret2))
2013-
.spawn()
2014-
.await?;
1948+
.secret_key(secret2.clone())
1949+
.discovery(dns_pkarr_server.discovery(secret2));
1950+
let node2 = Node::memory().endpoint(endpoint2).spawn().await?;
20151951
let hash = node1.blobs().add_bytes(b"foo".to_vec()).await?.hash;
20161952

20171953
// create a node addr with node id only

0 commit comments

Comments
 (0)
Please sign in to comment.