state-res: Only depend on maplit for tests / benches

This commit is contained in:
Jonas Platte 2021-08-31 19:11:15 +02:00
parent a3707b1a3a
commit 9c5b2e3d8c
No known key found for this signature in database
GPG Key ID: CC154DE0E30B7C67
3 changed files with 9 additions and 11 deletions

View File

@ -21,7 +21,6 @@ unstable-exhaustive-types = []
[dependencies] [dependencies]
itertools = "0.10.0" itertools = "0.10.0"
js_int = "0.2.0" js_int = "0.2.0"
maplit = "1.0.2"
ruma-common = { version = "0.6.0", path = "../ruma-common" } ruma-common = { version = "0.6.0", path = "../ruma-common" }
ruma-events = { version = "0.24.5", path = "../ruma-events" } ruma-events = { version = "0.24.5", path = "../ruma-events" }
ruma-identifiers = { version = "0.20.0", path = "../ruma-identifiers" } ruma-identifiers = { version = "0.20.0", path = "../ruma-identifiers" }
@ -33,6 +32,7 @@ tracing = "0.1.26"
[dev-dependencies] [dev-dependencies]
criterion = "0.3.3" criterion = "0.3.3"
maplit = "1.0.2"
rand = "0.8.3" rand = "0.8.3"
tracing-subscriber = "0.2.15" tracing-subscriber = "0.2.15"

View File

@ -1,7 +1,6 @@
use std::{convert::TryFrom, sync::Arc}; use std::{collections::BTreeSet, convert::TryFrom, sync::Arc};
use js_int::int; use js_int::int;
use maplit::btreeset;
use ruma_events::{ use ruma_events::{
room::{ room::{
create::CreateEventContent, create::CreateEventContent,
@ -572,7 +571,7 @@ where
let user_level = get_user_power_level(power_event.sender(), fetch_state); let user_level = get_user_power_level(power_event.sender(), fetch_state);
let mut user_levels_to_check = btreeset![]; let mut user_levels_to_check = BTreeSet::new();
let old_list = &current_content.users; let old_list = &current_content.users;
let user_list = &user_content.users; let user_list = &user_content.users;
for user in old_list.keys().chain(user_list.keys()) { for user in old_list.keys().chain(user_list.keys()) {
@ -582,7 +581,7 @@ where
debug!("users to check {:?}", user_levels_to_check); debug!("users to check {:?}", user_levels_to_check);
let mut event_levels_to_check = btreeset![]; let mut event_levels_to_check = BTreeSet::new();
let old_list = &current_content.events; let old_list = &current_content.events;
let new_list = &user_content.events; let new_list = &user_content.events;
for ev_id in old_list.keys().chain(new_list.keys()) { for ev_id in old_list.keys().chain(new_list.keys()) {

View File

@ -5,7 +5,6 @@ use std::{
}; };
use itertools::Itertools; use itertools::Itertools;
use maplit::hashset;
use ruma_common::MilliSecondsSinceUnixEpoch; use ruma_common::MilliSecondsSinceUnixEpoch;
use ruma_events::{ use ruma_events::{
room::{ room::{
@ -217,7 +216,7 @@ impl StateResolution {
Ok(auth_chain_sets.into_iter().flatten().filter(|id| !common.contains(id)).collect()) Ok(auth_chain_sets.into_iter().flatten().filter(|id| !common.contains(id)).collect())
} else { } else {
Ok(hashset![]) Ok(HashSet::new())
} }
} }
@ -303,7 +302,7 @@ impl StateResolution {
// The number of events that depend on the given event (the EventId key) // The number of events that depend on the given event (the EventId key)
// How many events reference this event in the DAG as a parent // How many events reference this event in the DAG as a parent
let mut reverse_graph = HashMap::new(); let mut reverse_graph: HashMap<&EventId, HashSet<&EventId>> = HashMap::new();
// Vec of nodes that have zero out degree, least recent events. // Vec of nodes that have zero out degree, least recent events.
let mut zero_outdegree = vec![]; let mut zero_outdegree = vec![];
@ -315,9 +314,9 @@ impl StateResolution {
zero_outdegree.push(Reverse((key_fn(node)?, node))); zero_outdegree.push(Reverse((key_fn(node)?, node)));
} }
reverse_graph.entry(node).or_insert(hashset![]); reverse_graph.entry(node).or_default();
for edge in edges { for edge in edges {
reverse_graph.entry(edge).or_insert(hashset![]).insert(node); reverse_graph.entry(edge).or_default().insert(node);
} }
} }
@ -615,7 +614,7 @@ impl StateResolution {
{ {
let mut state = vec![event_id.clone()]; let mut state = vec![event_id.clone()];
while let Some(eid) = state.pop() { while let Some(eid) = state.pop() {
graph.entry(eid.clone()).or_insert(hashset![]); graph.entry(eid.clone()).or_default();
// Prefer the store to event as the store filters dedups the events // Prefer the store to event as the store filters dedups the events
for aid in &fetch_event(&eid).map(|ev| ev.auth_events()).unwrap_or_default() { for aid in &fetch_event(&eid).map(|ev| ev.auth_events()).unwrap_or_default() {
if auth_diff.contains(aid) { if auth_diff.contains(aid) {