node: Pass `Alias` by reference

This commit is contained in:
cloudhead 2024-06-12 16:42:28 +02:00
parent 76edc0c523
commit a89a300390
No known key found for this signature in database
9 changed files with 34 additions and 65 deletions

View File

@ -1321,7 +1321,7 @@ fn rad_clone_partial_fail() {
&carol, &carol,
PROTOCOL_VERSION, PROTOCOL_VERSION,
node::Features::SEED, node::Features::SEED,
Alias::new("carol"), &Alias::new("carol"),
0, 0,
&UserAgent::default(), &UserAgent::default(),
localtime::LocalTime::now().into(), localtime::LocalTime::now().into(),
@ -1390,7 +1390,7 @@ fn rad_clone_connect() {
&alice.id, &alice.id,
PROTOCOL_VERSION, PROTOCOL_VERSION,
node::Features::SEED, node::Features::SEED,
Alias::new("alice"), &Alias::new("alice"),
0, 0,
&ua, &ua,
now, now,
@ -1406,7 +1406,7 @@ fn rad_clone_connect() {
&bob.id, &bob.id,
PROTOCOL_VERSION, PROTOCOL_VERSION,
node::Features::SEED, node::Features::SEED,
Alias::new("bob"), &Alias::new("bob"),
0, 0,
&ua, &ua,
now, now,

View File

@ -181,7 +181,7 @@ impl Runtime {
.init( .init(
&id, &id,
announcement.features, announcement.features,
announcement.alias.clone(), &announcement.alias,
&announcement.agent, &announcement.agent,
announcement.timestamp, announcement.timestamp,
announcement.addresses.iter(), announcement.addresses.iter(),
@ -198,7 +198,7 @@ impl Runtime {
&id, &id,
version, version,
radicle::node::Features::SEED, radicle::node::Features::SEED,
alias, &alias,
0, 0,
&UserAgent::default(), &UserAgent::default(),
clock.into(), clock.into(),

View File

@ -1695,7 +1695,7 @@ where
announcer, announcer,
ann.version, ann.version,
ann.features, ann.features,
ann.alias.clone(), &ann.alias,
ann.work(), ann.work(),
&ann.agent, &ann.agent,
timestamp, timestamp,

View File

@ -133,7 +133,7 @@ impl Environment {
.init( .init(
&public_key, &public_key,
config.node.features(), config.node.features(),
Alias::new(alias), &Alias::new(alias),
&UserAgent::default(), &UserAgent::default(),
now.into(), now.into(),
config.node.external_addresses.iter(), config.node.external_addresses.iter(),

View File

@ -174,7 +174,7 @@ where
.init( .init(
&id, &id,
config.config.features(), config.config.features(),
config.config.alias.clone(), &config.config.alias,
&UserAgent::default(), &UserAgent::default(),
config.local_time.into(), config.local_time.into(),
config.config.external_addresses.iter(), config.config.external_addresses.iter(),
@ -254,7 +254,7 @@ where
&peer.node_id(), &peer.node_id(),
PROTOCOL_VERSION, PROTOCOL_VERSION,
radicle::node::Features::default(), radicle::node::Features::default(),
Alias::from_str(peer.name).unwrap(), &Alias::from_str(peer.name).unwrap(),
0, 0,
&UserAgent::default(), &UserAgent::default(),
timestamp, timestamp,

View File

@ -305,6 +305,11 @@ impl Alias {
Err(e) => panic!("Alias::new: {e}"), Err(e) => panic!("Alias::new: {e}"),
} }
} }
/// Return a reference to the alias string.
pub fn as_str(&self) -> &str {
self.0.as_str()
}
} }
impl From<Alias> for String { impl From<Alias> for String {

View File

@ -56,7 +56,7 @@ pub trait Store {
node: &NodeId, node: &NodeId,
version: u8, version: u8,
features: node::Features, features: node::Features,
alias: Alias, alias: &Alias,
pow: u32, pow: u32,
agent: &UserAgent, agent: &UserAgent,
timestamp: Timestamp, timestamp: Timestamp,
@ -223,7 +223,7 @@ impl Store for Database {
node: &NodeId, node: &NodeId,
version: u8, version: u8,
features: node::Features, features: node::Features,
alias: Alias, alias: &Alias,
pow: u32, pow: u32,
agent: &UserAgent, agent: &UserAgent,
timestamp: Timestamp, timestamp: Timestamp,
@ -241,7 +241,7 @@ impl Store for Database {
stmt.bind((1, node))?; stmt.bind((1, node))?;
stmt.bind((2, version as i64))?; stmt.bind((2, version as i64))?;
stmt.bind((3, features))?; stmt.bind((3, features))?;
stmt.bind((4, sql::Value::String(alias.into())))?; stmt.bind((4, alias.as_str()))?;
stmt.bind((5, pow as i64))?; stmt.bind((5, pow as i64))?;
stmt.bind((6, agent.as_str()))?; stmt.bind((6, agent.as_str()))?;
stmt.bind((7, &timestamp))?; stmt.bind((7, &timestamp))?;
@ -537,7 +537,7 @@ mod test {
&alice, &alice,
1, 1,
features, features,
Alias::new("alice"), &Alias::new("alice"),
16, 16,
&ua, &ua,
timestamp, timestamp,
@ -552,7 +552,7 @@ mod test {
&alice, &alice,
1, 1,
features, features,
Alias::new("bob"), &Alias::new("bob"),
16, 16,
&ua, &ua,
timestamp + 1, timestamp + 1,
@ -584,7 +584,7 @@ mod test {
&alice, &alice,
version, version,
features, features,
Alias::new("alice"), &Alias::new("alice"),
16, 16,
&ua, &ua,
timestamp, timestamp,
@ -620,21 +620,12 @@ mod test {
banned: false, banned: false,
}; };
let inserted = cache let inserted = cache
.insert( .insert(&alice, 1, features, &alias, 0, &ua, timestamp, [ka.clone()])
&alice,
1,
features,
alias.clone(),
0,
&ua,
timestamp,
[ka.clone()],
)
.unwrap(); .unwrap();
assert!(inserted); assert!(inserted);
let inserted = cache let inserted = cache
.insert(&alice, 1, features, alias, 0, &ua, timestamp, [ka]) .insert(&alice, 1, features, &alias, 0, &ua, timestamp, [ka])
.unwrap(); .unwrap();
assert!(!inserted); assert!(!inserted);
@ -664,7 +655,7 @@ mod test {
&alice, &alice,
1, 1,
features, features,
alias1, &alias1,
0, 0,
&ua1, &ua1,
timestamp, timestamp,
@ -674,21 +665,12 @@ mod test {
assert!(updated); assert!(updated);
let updated = cache let updated = cache
.insert(&alice, 1, features, alias2.clone(), 0, &ua1, timestamp, []) .insert(&alice, 1, features, &alias2, 0, &ua1, timestamp, [])
.unwrap(); .unwrap();
assert!(!updated, "Can't update using the same timestamp"); assert!(!updated, "Can't update using the same timestamp");
let updated = cache let updated = cache
.insert( .insert(&alice, 1, features, &alias2, 0, &ua1, timestamp - 1, [])
&alice,
1,
features,
alias2.clone(),
0,
&ua1,
timestamp - 1,
[],
)
.unwrap(); .unwrap();
assert!(!updated, "Can't update using a smaller timestamp"); assert!(!updated, "Can't update using a smaller timestamp");
@ -698,16 +680,7 @@ mod test {
assert_eq!(node.pow, 0); assert_eq!(node.pow, 0);
let updated = cache let updated = cache
.insert( .insert(&alice, 1, features, &alias2, 0, &ua2, timestamp + 1, [])
&alice,
1,
features,
alias2.clone(),
0,
&ua2,
timestamp + 1,
[],
)
.unwrap(); .unwrap();
assert!(updated, "Can update with a larger timestamp"); assert!(updated, "Can update with a larger timestamp");
@ -716,7 +689,7 @@ mod test {
&alice, &alice,
1, 1,
node::Features::NONE, node::Features::NONE,
alias2, &alias2,
1, 1,
&ua2, &ua2,
timestamp + 2, timestamp + 2,
@ -762,7 +735,7 @@ mod test {
&alice, &alice,
1, 1,
features, features,
alice_alias.clone(), &alice_alias,
0, 0,
&ua, &ua,
timestamp, timestamp,
@ -770,16 +743,7 @@ mod test {
) )
.unwrap(); .unwrap();
cache cache
.insert( .insert(&bob, 1, features, &bob_alias, 0, &ua, timestamp, [ka])
&bob,
1,
features,
bob_alias.clone(),
0,
&ua,
timestamp,
[ka],
)
.unwrap(); .unwrap();
} }
assert_eq!(cache.len().unwrap(), 6); assert_eq!(cache.len().unwrap(), 6);
@ -822,7 +786,7 @@ mod test {
address: ka.clone(), address: ka.clone(),
}); });
cache cache
.insert(&id, 3, features, alias.clone(), 0, &ua, timestamp, [ka]) .insert(&id, 3, features, &alias, 0, &ua, timestamp, [ka])
.unwrap(); .unwrap();
} }
@ -849,7 +813,7 @@ mod test {
&alice, &alice,
1, 1,
features, features,
Alias::new("alice"), &Alias::new("alice"),
16, 16,
&ua, &ua,
timestamp, timestamp,
@ -900,7 +864,7 @@ mod test {
&alice, &alice,
1, 1,
features, features,
Alias::new("alice"), &Alias::new("alice"),
16, 16,
&ua, &ua,
timestamp, timestamp,

View File

@ -133,7 +133,7 @@ impl Database {
mut self, mut self,
node: &NodeId, node: &NodeId,
features: Features, features: Features,
alias: Alias, alias: &Alias,
agent: &UserAgent, agent: &UserAgent,
timestamp: Timestamp, timestamp: Timestamp,
addrs: impl IntoIterator<Item = &'a Address>, addrs: impl IntoIterator<Item = &'a Address>,

View File

@ -318,7 +318,7 @@ impl Profile {
.init( .init(
&public_key, &public_key,
config.node.features(), config.node.features(),
config.node.alias.clone(), &config.node.alias,
&UserAgent::default(), &UserAgent::default(),
LocalTime::now().into(), LocalTime::now().into(),
config.node.external_addresses.iter(), config.node.external_addresses.iter(),