Made SenderID a structure.
Some checks failed
Gitea Actions Demo / Explore-Gitea-Actions (push) Failing after 1s
Some checks failed
Gitea Actions Demo / Explore-Gitea-Actions (push) Failing after 1s
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
use super::SenderID;
|
||||
use crate::{
|
||||
action::{Action, MsgAction},
|
||||
message::{wrapper::Message, MessageAction},
|
||||
@@ -55,18 +56,18 @@ pub enum RegMsg {
|
||||
Error(MTTError),
|
||||
GetNameID(Name),
|
||||
Ok,
|
||||
RemoveSender(Uuid),
|
||||
RemoveSender(SenderID),
|
||||
RouteID(RouteID),
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug)]
|
||||
pub struct Register {
|
||||
msg: RegMsg,
|
||||
sender_id: Uuid,
|
||||
sender_id: SenderID,
|
||||
}
|
||||
|
||||
impl Register {
|
||||
pub fn new(sender_id: Uuid, reg_msg: RegMsg) -> Self {
|
||||
pub fn new(sender_id: SenderID, reg_msg: RegMsg) -> Self {
|
||||
Self {
|
||||
msg: reg_msg,
|
||||
sender_id: sender_id,
|
||||
@@ -77,7 +78,7 @@ impl Register {
|
||||
&self.msg
|
||||
}
|
||||
|
||||
pub fn get_sender_id(&self) -> &Uuid {
|
||||
pub fn get_sender_id(&self) -> &SenderID {
|
||||
&self.sender_id
|
||||
}
|
||||
|
||||
@@ -99,13 +100,13 @@ mod registries {
|
||||
#[test]
|
||||
fn does_registry_store_data() {
|
||||
let name_id = test_name_id();
|
||||
let sender_data_id = Uuid::new_v4();
|
||||
let sender_data_id = SenderID::new();
|
||||
let inputs = [
|
||||
RegMsg::DocumentNameID(name_id.clone()),
|
||||
RegMsg::RemoveSender(sender_data_id.clone()),
|
||||
];
|
||||
for regmsg in inputs.iter() {
|
||||
let sender_id = Uuid::new_v4();
|
||||
let sender_id = SenderID::new();
|
||||
let reg = Register::new(sender_id.clone(), regmsg.clone());
|
||||
assert_eq!(reg.doc_name(), &NameType::None);
|
||||
assert_eq!(reg.get_sender_id(), &sender_id);
|
||||
@@ -275,7 +276,7 @@ impl From<Route> for RouteID {
|
||||
}
|
||||
|
||||
struct RouteStorage {
|
||||
data: HashMap<RouteID, HashSet<Uuid>>,
|
||||
data: HashMap<RouteID, HashSet<SenderID>>,
|
||||
}
|
||||
|
||||
impl RouteStorage {
|
||||
@@ -285,7 +286,7 @@ impl RouteStorage {
|
||||
}
|
||||
}
|
||||
|
||||
fn add(&mut self, route: Route, sender_id: Uuid) -> RouteID {
|
||||
fn add(&mut self, route: Route, sender_id: SenderID) -> RouteID {
|
||||
let route_id: RouteID = route.into();
|
||||
let set = match self.data.get_mut(&route_id) {
|
||||
Some(result) => result,
|
||||
@@ -299,7 +300,7 @@ impl RouteStorage {
|
||||
route_id
|
||||
}
|
||||
|
||||
fn remove_sender_id(&mut self, sender_id: &Uuid) {
|
||||
fn remove_sender_id(&mut self, sender_id: &SenderID) {
|
||||
let mut removal: Vec<RouteID> = Vec::new();
|
||||
for (route_id, set) in self.data.iter_mut() {
|
||||
set.remove(sender_id);
|
||||
@@ -312,7 +313,7 @@ impl RouteStorage {
|
||||
}
|
||||
}
|
||||
|
||||
fn get(&self, route: Route) -> HashSet<Uuid> {
|
||||
fn get(&self, route: Route) -> HashSet<SenderID> {
|
||||
let mut output = HashSet::new();
|
||||
for (route_id, set) in self.data.iter() {
|
||||
if route == route_id.into() {
|
||||
@@ -330,8 +331,8 @@ mod route_storeage {
|
||||
#[test]
|
||||
fn can_add_routes() {
|
||||
let mut routes = RouteStorage::new();
|
||||
let id1 = Uuid::new_v4();
|
||||
let id2 = Uuid::new_v4();
|
||||
let id1 = SenderID::new();
|
||||
let id2 = SenderID::new();
|
||||
let route1 = Route::new(Include::Just(Uuid::new_v4()), Include::All, Include::All);
|
||||
let route2 = Route::new(Include::Just(Uuid::new_v4()), Include::All, Include::All);
|
||||
let route_id1 = routes.add(route1.clone(), id1.clone());
|
||||
@@ -368,9 +369,9 @@ mod route_storeage {
|
||||
fn returns_all_entries_using_the_same_route() {
|
||||
let count = 5;
|
||||
let mut routes = RouteStorage::new();
|
||||
let mut ids: HashSet<Uuid> = HashSet::new();
|
||||
let mut ids: HashSet<SenderID> = HashSet::new();
|
||||
while ids.len() < count {
|
||||
ids.insert(Uuid::new_v4());
|
||||
ids.insert(SenderID::new());
|
||||
}
|
||||
let route = Route::new(Include::Just(Uuid::new_v4()), Include::All, Include::All);
|
||||
for id in ids.iter() {
|
||||
@@ -384,7 +385,7 @@ mod route_storeage {
|
||||
fn routes_are_not_duplicated() {
|
||||
let count = 5;
|
||||
let mut routes = RouteStorage::new();
|
||||
let id = Uuid::new_v4();
|
||||
let id = SenderID::new();
|
||||
let route = Route::new(Include::Just(Uuid::new_v4()), Include::All, Include::All);
|
||||
for _ in 0..count {
|
||||
routes.add(route.clone(), id.clone());
|
||||
@@ -397,8 +398,8 @@ mod route_storeage {
|
||||
#[test]
|
||||
fn overlapping_routes_are_combined() {
|
||||
let mut routes = RouteStorage::new();
|
||||
let id1 = Uuid::new_v4();
|
||||
let id2 = Uuid::new_v4();
|
||||
let id1 = SenderID::new();
|
||||
let id2 = SenderID::new();
|
||||
let route1 = Route::new(Include::Just(Uuid::new_v4()), Include::All, Include::All);
|
||||
let route2 = Route::new(Include::Just(Uuid::new_v4()), Include::All, Include::All);
|
||||
routes.add(route1.clone(), id1.clone());
|
||||
@@ -414,9 +415,9 @@ mod route_storeage {
|
||||
fn can_remove_sender_id() {
|
||||
let mut routes = RouteStorage::new();
|
||||
let count = 5;
|
||||
let mut ids: HashSet<Uuid> = HashSet::new();
|
||||
let mut ids: HashSet<SenderID> = HashSet::new();
|
||||
while ids.len() < count {
|
||||
ids.insert(Uuid::new_v4());
|
||||
ids.insert(SenderID::new());
|
||||
}
|
||||
let route = Route::new(Include::Just(Uuid::new_v4()), Include::All, Include::All);
|
||||
for id in ids.iter() {
|
||||
@@ -432,7 +433,7 @@ mod route_storeage {
|
||||
#[test]
|
||||
fn empty_routes_are_release_memory() {
|
||||
let mut routes = RouteStorage::new();
|
||||
let id = Uuid::new_v4();
|
||||
let id = SenderID::new();
|
||||
let route = Route::new(Include::Just(Uuid::new_v4()), Include::All, Include::All);
|
||||
routes.add(route.clone(), id.clone());
|
||||
routes.remove_sender_id(&id);
|
||||
|
||||
Reference in New Issue
Block a user