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

View File

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

View File

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

View File

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

View File

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

View File

@ -305,6 +305,11 @@ impl Alias {
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 {

View File

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

View File

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

View File

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