state-res: Remove StateResolution type
… making its associated functions free instead.
This commit is contained in:
		
							parent
							
								
									cc9336e444
								
							
						
					
					
						commit
						4bea59caef
					
				| @ -30,7 +30,7 @@ use ruma_events::{ | |||||||
|     EventType, |     EventType, | ||||||
| }; | }; | ||||||
| use ruma_identifiers::{EventId, RoomId, RoomVersionId, UserId}; | use ruma_identifiers::{EventId, RoomId, RoomVersionId, UserId}; | ||||||
| use ruma_state_res::{Error, Event, EventMap, Result, StateMap, StateResolution}; | use ruma_state_res::{self as state_res, Error, Event, EventMap, Result, StateMap}; | ||||||
| use serde_json::{json, Value as JsonValue}; | use serde_json::{json, Value as JsonValue}; | ||||||
| 
 | 
 | ||||||
| static SERVER_TIMESTAMP: AtomicU64 = AtomicU64::new(0); | static SERVER_TIMESTAMP: AtomicU64 = AtomicU64::new(0); | ||||||
| @ -45,7 +45,7 @@ fn lexico_topo_sort(c: &mut Criterion) { | |||||||
|             event_id("p") => hashset![event_id("o")], |             event_id("p") => hashset![event_id("o")], | ||||||
|         }; |         }; | ||||||
|         b.iter(|| { |         b.iter(|| { | ||||||
|             let _ = StateResolution::lexicographical_topological_sort(&graph, |id| { |             let _ = state_res::lexicographical_topological_sort(&graph, |id| { | ||||||
|                 Ok((0, MilliSecondsSinceUnixEpoch(uint!(0)), id.clone())) |                 Ok((0, MilliSecondsSinceUnixEpoch(uint!(0)), id.clone())) | ||||||
|             }); |             }); | ||||||
|         }) |         }) | ||||||
| @ -62,7 +62,7 @@ fn resolution_shallow_auth_chain(c: &mut Criterion) { | |||||||
|         b.iter(|| { |         b.iter(|| { | ||||||
|             let ev_map: EventMap<Arc<StateEvent>> = store.0.clone(); |             let ev_map: EventMap<Arc<StateEvent>> = store.0.clone(); | ||||||
|             let state_sets = vec![state_at_bob.clone(), state_at_charlie.clone()]; |             let state_sets = vec![state_at_bob.clone(), state_at_charlie.clone()]; | ||||||
|             let _ = match StateResolution::resolve::<StateEvent, _>( |             let _ = match state_res::resolve::<StateEvent, _>( | ||||||
|                 &room_id(), |                 &room_id(), | ||||||
|                 &RoomVersionId::Version6, |                 &RoomVersionId::Version6, | ||||||
|                 &state_sets, |                 &state_sets, | ||||||
| @ -119,7 +119,7 @@ fn resolve_deeper_event_set(c: &mut Criterion) { | |||||||
| 
 | 
 | ||||||
|         b.iter(|| { |         b.iter(|| { | ||||||
|             let state_sets = vec![state_set_a.clone(), state_set_b.clone()]; |             let state_sets = vec![state_set_a.clone(), state_set_b.clone()]; | ||||||
|             let _ = match StateResolution::resolve::<StateEvent, _>( |             let _ = match state_res::resolve::<StateEvent, _>( | ||||||
|                 &room_id(), |                 &room_id(), | ||||||
|                 &RoomVersionId::Version6, |                 &RoomVersionId::Version6, | ||||||
|                 &state_sets, |                 &state_sets, | ||||||
|  | |||||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @ -5,7 +5,7 @@ use std::{ | |||||||
| 
 | 
 | ||||||
| use rand::seq::SliceRandom; | use rand::seq::SliceRandom; | ||||||
| use ruma_events::EventType; | use ruma_events::EventType; | ||||||
| use ruma_state_res::{is_power_event, room_version::RoomVersion, StateMap, StateResolution}; | use ruma_state_res::{self as state_res, is_power_event, room_version::RoomVersion, StateMap}; | ||||||
| 
 | 
 | ||||||
| mod utils; | mod utils; | ||||||
| use utils::INITIAL_EVENTS; | use utils::INITIAL_EVENTS; | ||||||
| @ -27,12 +27,12 @@ fn test_event_sort() { | |||||||
|         .collect::<Vec<_>>(); |         .collect::<Vec<_>>(); | ||||||
| 
 | 
 | ||||||
|     let sorted_power_events = |     let sorted_power_events = | ||||||
|         StateResolution::reverse_topological_power_sort(power_events, &auth_chain, |id| { |         state_res::reverse_topological_power_sort(power_events, &auth_chain, |id| { | ||||||
|             events.get(id).map(Arc::clone) |             events.get(id).map(Arc::clone) | ||||||
|         }) |         }) | ||||||
|         .unwrap(); |         .unwrap(); | ||||||
| 
 | 
 | ||||||
|     let resolved_power = StateResolution::iterative_auth_check( |     let resolved_power = state_res::iterative_auth_check( | ||||||
|         &RoomVersion::version_6(), |         &RoomVersion::version_6(), | ||||||
|         &sorted_power_events, |         &sorted_power_events, | ||||||
|         &HashMap::new(), // unconflicted events
 |         &HashMap::new(), // unconflicted events
 | ||||||
| @ -47,10 +47,9 @@ fn test_event_sort() { | |||||||
| 
 | 
 | ||||||
|     let power_level = resolved_power.get(&(EventType::RoomPowerLevels, "".to_owned())); |     let power_level = resolved_power.get(&(EventType::RoomPowerLevels, "".to_owned())); | ||||||
| 
 | 
 | ||||||
|     let sorted_event_ids = StateResolution::mainline_sort(&events_to_sort, power_level, |id| { |     let sorted_event_ids = | ||||||
|         events.get(id).map(Arc::clone) |         state_res::mainline_sort(&events_to_sort, power_level, |id| events.get(id).map(Arc::clone)) | ||||||
|     }) |             .unwrap(); | ||||||
|     .unwrap(); |  | ||||||
| 
 | 
 | ||||||
|     assert_eq!( |     assert_eq!( | ||||||
|         vec![ |         vec![ | ||||||
|  | |||||||
| @ -4,7 +4,7 @@ use std::{collections::HashMap, sync::Arc}; | |||||||
| 
 | 
 | ||||||
| use ruma_events::EventType; | use ruma_events::EventType; | ||||||
| use ruma_identifiers::{EventId, RoomVersionId}; | use ruma_identifiers::{EventId, RoomVersionId}; | ||||||
| use ruma_state_res::{EventMap, StateMap, StateResolution}; | use ruma_state_res::{self as state_res, EventMap, StateMap}; | ||||||
| use serde_json::json; | use serde_json::json; | ||||||
| use tracing::debug; | use tracing::debug; | ||||||
| 
 | 
 | ||||||
| @ -65,7 +65,7 @@ fn ban_with_auth_chains2() { | |||||||
| 
 | 
 | ||||||
|     let ev_map: EventMap<Arc<StateEvent>> = store.0.clone(); |     let ev_map: EventMap<Arc<StateEvent>> = store.0.clone(); | ||||||
|     let state_sets = vec![state_set_a, state_set_b]; |     let state_sets = vec![state_set_a, state_set_b]; | ||||||
|     let resolved = match StateResolution::resolve::<StateEvent, _>( |     let resolved = match state_res::resolve::<StateEvent, _>( | ||||||
|         &room_id(), |         &room_id(), | ||||||
|         &RoomVersionId::Version6, |         &RoomVersionId::Version6, | ||||||
|         &state_sets, |         &state_sets, | ||||||
|  | |||||||
| @ -5,7 +5,7 @@ use maplit::{hashmap, hashset}; | |||||||
| use ruma_common::MilliSecondsSinceUnixEpoch; | use ruma_common::MilliSecondsSinceUnixEpoch; | ||||||
| use ruma_events::{room::join_rules::JoinRule, EventType}; | use ruma_events::{room::join_rules::JoinRule, EventType}; | ||||||
| use ruma_identifiers::{EventId, RoomVersionId}; | use ruma_identifiers::{EventId, RoomVersionId}; | ||||||
| use ruma_state_res::{EventMap, StateMap, StateResolution}; | use ruma_state_res::{self as state_res, EventMap, StateMap}; | ||||||
| use serde_json::json; | use serde_json::json; | ||||||
| use tracing_subscriber as tracer; | use tracing_subscriber as tracer; | ||||||
| 
 | 
 | ||||||
| @ -254,7 +254,7 @@ fn test_event_map_none() { | |||||||
| 
 | 
 | ||||||
|     let ev_map: EventMap<Arc<StateEvent>> = store.0.clone(); |     let ev_map: EventMap<Arc<StateEvent>> = store.0.clone(); | ||||||
|     let state_sets = vec![state_at_bob, state_at_charlie]; |     let state_sets = vec![state_at_bob, state_at_charlie]; | ||||||
|     let resolved = match StateResolution::resolve::<StateEvent, _>( |     let resolved = match state_res::resolve::<StateEvent, _>( | ||||||
|         &room_id(), |         &room_id(), | ||||||
|         &RoomVersionId::Version2, |         &RoomVersionId::Version2, | ||||||
|         &state_sets, |         &state_sets, | ||||||
| @ -285,7 +285,7 @@ fn test_lexicographical_sort() { | |||||||
|         event_id("p") => hashset![event_id("o")], |         event_id("p") => hashset![event_id("o")], | ||||||
|     }; |     }; | ||||||
| 
 | 
 | ||||||
|     let res = StateResolution::lexicographical_topological_sort(&graph, |id| { |     let res = state_res::lexicographical_topological_sort(&graph, |id| { | ||||||
|         Ok((0, MilliSecondsSinceUnixEpoch(uint!(0)), id.clone())) |         Ok((0, MilliSecondsSinceUnixEpoch(uint!(0)), id.clone())) | ||||||
|     }) |     }) | ||||||
|     .unwrap(); |     .unwrap(); | ||||||
|  | |||||||
| @ -21,7 +21,7 @@ use ruma_events::{ | |||||||
|     EventType, |     EventType, | ||||||
| }; | }; | ||||||
| use ruma_identifiers::{EventId, RoomId, RoomVersionId, UserId}; | use ruma_identifiers::{EventId, RoomId, RoomVersionId, UserId}; | ||||||
| use ruma_state_res::{auth_types_for_event, Error, Event, Result, StateMap, StateResolution}; | use ruma_state_res::{self as state_res, auth_types_for_event, Error, Event, Result, StateMap}; | ||||||
| use serde_json::{json, Value as JsonValue}; | use serde_json::{json, Value as JsonValue}; | ||||||
| use tracing::info; | use tracing::info; | ||||||
| use tracing_subscriber as tracer; | use tracing_subscriber as tracer; | ||||||
| @ -79,7 +79,7 @@ pub fn do_check( | |||||||
| 
 | 
 | ||||||
|     // Resolve the current state and add it to the state_at_event map then continue
 |     // Resolve the current state and add it to the state_at_event map then continue
 | ||||||
|     // on in "time"
 |     // on in "time"
 | ||||||
|     for node in StateResolution::lexicographical_topological_sort(&graph, |id| { |     for node in state_res::lexicographical_topological_sort(&graph, |id| { | ||||||
|         Ok((0, MilliSecondsSinceUnixEpoch(uint!(0)), id.clone())) |         Ok((0, MilliSecondsSinceUnixEpoch(uint!(0)), id.clone())) | ||||||
|     }) |     }) | ||||||
|     .unwrap() |     .unwrap() | ||||||
| @ -111,7 +111,7 @@ pub fn do_check( | |||||||
|                     .collect::<Vec<_>>() |                     .collect::<Vec<_>>() | ||||||
|             ); |             ); | ||||||
| 
 | 
 | ||||||
|             let resolved = StateResolution::resolve( |             let resolved = state_res::resolve( | ||||||
|                 &room_id(), |                 &room_id(), | ||||||
|                 &RoomVersionId::Version6, |                 &RoomVersionId::Version6, | ||||||
|                 &state_sets, |                 &state_sets, | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user