Skip to main content

Module power_sort

Module power_sort 

Source

Re-exportsยง

use std::collections::HashMap; ๐Ÿ”’
use std::iter::once; ๐Ÿ”’
use futures::StreamExt; ๐Ÿ”’
use futures::TryFutureExt; ๐Ÿ”’
use futures::TryStreamExt; ๐Ÿ”’
use futures::stream::FuturesUnordered; ๐Ÿ”’
use ruma::EventId; ๐Ÿ”’
use ruma::OwnedEventId; ๐Ÿ”’
use ruma::events::TimelineEventType; ๐Ÿ”’
use ruma::events::room::power_levels::UserPowerLevel; ๐Ÿ”’
use ruma::room_version_rules::RoomVersionRules; ๐Ÿ”’
use serde::Deserialize; ๐Ÿ”’
use serde::Deserialize; ๐Ÿ”’
use tuwunel_core::Result; ๐Ÿ”’
use tuwunel_core::err; ๐Ÿ”’
use tuwunel_core::result::NotFound; ๐Ÿ”’
use tuwunel_core::utils::stream::IterStream; ๐Ÿ”’
use tuwunel_core::utils::stream::TryBroadbandExt; ๐Ÿ”’
use tuwunel_core::utils::stream::TryReadyExt; ๐Ÿ”’
use super::super::FetchEvent; ๐Ÿ”’
use super::super::events::PowerEvent; ๐Ÿ”’
use super::super::events::RoomCreateEvent; ๐Ÿ”’
use super::super::events::RoomPowerLevelsEvent; ๐Ÿ”’
use super::super::events::RoomPowerLevelsIntField; ๐Ÿ”’
use super::super::events::power_levels::RoomPowerLevelsEventOptionExt; ๐Ÿ”’
use super::super::fetch_event::AuthRefs; ๐Ÿ”’
use super::super::topological_sort; ๐Ÿ”’
use super::super::topological_sort; ๐Ÿ”’
use super::super::topological_sort::ReferencedIds; ๐Ÿ”’
use super::ConflictedSet; ๐Ÿ”’
use crate::Event; ๐Ÿ”’
use crate::PduEvent; ๐Ÿ”’

Functionsยง

add_event_auth_chain ๐Ÿ”’
Add the event with the given event ID and all the events in its auth chain that are in the full conflicted set to the graph.
fetch_optional_event ๐Ÿ”’
is_power_event_id ๐Ÿ”’
Whether the given event ID belongs to a power event.
power_level_for_sender ๐Ÿ”’
Finds the power level for an event sender.
power_sort ๐Ÿ”’
Enlarge the given list of conflicted power events by adding the events in their auth chain that are in the full conflicted set, and sort it using reverse topological power ordering.