Compare commits

..

No commits in common. "e0b83d30b6fd1b15ed27a1f120122c6aa4c682fe" and "3758249a28d564f1a92ce033ebbc3094fafdf540" have entirely different histories.

4 changed files with 12 additions and 16 deletions

View file

@ -1,5 +1,3 @@
use std::collections::HashSet;
use serde::{Deserialize, Serialize};
use super::{FamilyId, PeerId};
@ -8,7 +6,7 @@ use super::{FamilyId, PeerId};
pub struct Family {
pub id: FamilyId,
pub name: Option<String>,
pub members: HashSet<PeerId>,
pub members: Vec<PeerId>,
}
impl Family {
@ -16,7 +14,7 @@ impl Family {
Family {
id,
name,
members: HashSet::from_iter(members.into_iter()),
members,
}
}
}
}

View file

@ -52,7 +52,7 @@ impl From<PeerId> for I2pSocketAddr {
impl From<I2pSocketAddr> for PeerId {
fn from(value: I2pSocketAddr) -> Self {
Self::try_from_b32(&value.dest().string(), Some(value.port())).unwrap_or_else(|_|
Self::try_from_b32(&value.dest().string(), Some(value.port())).unwrap_or(
Self::try_from_dest(&value.dest().string(), Some(value.port())).expect(&format!(
"I2pSocketAddr was neither in b32 nor in b64 format: {value:?}"
)),

View file

@ -80,7 +80,7 @@ impl From<DbPeerFamily> for Family {
Family {
id: (*value.id).clone(),
name: value.name,
members: HashSet::from_iter(value.members.into_iter()),
members: value.members.iter().map(|p| p.clone()).collect_vec(),
}
}
}
@ -160,7 +160,7 @@ impl StateDB {
.value
.clone()
.map(|family| family.members)
.map(|map| map.into_iter().collect_vec()).unwrap_or(vec![])),
.unwrap_or(vec![])),
_ => Err(Error::msg("Peer appears to be member of multiple families")),
})?
.map_err(|e| anyhow!(e))
@ -187,8 +187,6 @@ impl StateDB {
#[cfg(test)]
mod tests {
use std::collections::HashSet;
use ubisync_lib::types::{Family, FamilyId, PeerId};
use crate::state::database::StateDB;
@ -202,7 +200,7 @@ mod tests {
db.add_peer_family(Family {
id: family_id.clone(),
name: Some("My family name".to_string()),
members: HashSet::from([peer_id.clone()]),
members: vec![peer_id.clone()],
})
.unwrap();
let retrieved_family = db.get_peer_family(family_id.clone()).unwrap();
@ -226,7 +224,7 @@ mod tests {
db.add_peer_family(Family {
id: family_id.clone(),
name: Some("My family name".to_string()),
members: HashSet::from([peer_id.clone()]),
members: vec![peer_id.clone()],
})
.unwrap();
db.remove_peer_from_family(peer_id.clone()).unwrap();
@ -251,7 +249,7 @@ mod tests {
db.add_peer_family(Family {
id: family_id.clone(),
name: Some("My family name".to_string()),
members: HashSet::from([peer_id.clone()]),
members: vec![peer_id.clone()],
})
.unwrap();
@ -286,7 +284,7 @@ mod tests {
db.add_peer_family(Family {
id: family_id.clone(),
name: Some("My family name".to_string()),
members: HashSet::from([peer_id.clone()]),
members: vec![peer_id.clone()],
})
.unwrap();

View file

@ -1,6 +1,6 @@
use crate::{api::v0::app::App, comm::CommHandle, node_events::UbisyncNodeEvent, Ubisync};
use std::{
collections::{HashMap, HashSet},
collections::HashMap,
sync::{
mpsc::{channel, Receiver, Sender},
Arc, Mutex, RwLock,
@ -167,7 +167,7 @@ impl State {
let family = Family {
id: FamilyId::new(),
name: None,
members: HashSet::from([my_id.clone(), peer.clone()]),
members: vec![my_id.clone(), peer.clone()],
};
self.db.add_peer_family(family.clone())?;
family