Skip to main content

Module resolve

Module resolve 

Source

Re-exportsยง

use std::collections::BTreeMap; ๐Ÿ”’
use std::collections::HashSet; ๐Ÿ”’
use std::ops::Deref; ๐Ÿ”’
use std::vec::IntoIter; ๐Ÿ”’
use futures::FutureExt; ๐Ÿ”’
use futures::Stream; ๐Ÿ”’
use futures::StreamExt; ๐Ÿ”’
use futures::TryFutureExt; ๐Ÿ”’
use futures::TryStreamExt; ๐Ÿ”’
use ruma::OwnedEventId; ๐Ÿ”’
use ruma::events::StateEventType; ๐Ÿ”’
use ruma::room_version_rules::RoomVersionRules; ๐Ÿ”’
use tuwunel_core::Result; ๐Ÿ”’
use tuwunel_core::debug; ๐Ÿ”’
use tuwunel_core::debug; ๐Ÿ”’
use tuwunel_core::itertools::Itertools; ๐Ÿ”’
use tuwunel_core::smallvec::SmallVec; ๐Ÿ”’
use tuwunel_core::trace; ๐Ÿ”’
use tuwunel_core::utils::BoolExt; ๐Ÿ”’
use tuwunel_core::utils::stream::BroadbandExt; ๐Ÿ”’
use tuwunel_core::utils::stream::IterStream; ๐Ÿ”’
use tuwunel_core::utils::stream::ReadyExt; ๐Ÿ”’
use self::auth_difference::auth_difference; ๐Ÿ”’
use self::conflicted_subgraph::conflicted_subgraph_dfs; ๐Ÿ”’
use self::iterative_auth_check::iterative_auth_check; ๐Ÿ”’
use self::mainline_sort::mainline_sort; ๐Ÿ”’
use self::power_sort::power_sort; ๐Ÿ”’
use self::split_conflicted::split_conflicted_state; ๐Ÿ”’
use super::FetchEvent; ๐Ÿ”’
use crate::TypeStateKey; ๐Ÿ”’
use crate::event_id::RandomState; ๐Ÿ”’

Modulesยง

auth_difference ๐Ÿ”’
conflicted_subgraph ๐Ÿ”’
iterative_auth_check ๐Ÿ”’
mainline_sort ๐Ÿ”’
power_sort ๐Ÿ”’
split_conflicted ๐Ÿ”’

Structsยง

AuthSet
Full recursive auth chain for one candidate StateMap.

Functionsยง

full_conflicted_set ๐Ÿ”’
resolve
Resolves the state of a room with the version 2 state resolution algorithm.

Type Aliasesยง

ConflictMap
Conflicting event ids for each contested state key.
ConflictVec ๐Ÿ”’
Event ids contesting one state key.
ConflictedSet ๐Ÿ”’
The full conflicted set (arbitrary order).
StateMap
A mapping of event type and state_key to some value T, usually an EventId.