Expand description
Delayed events (MSC4140): scheduling, management and lookup.
Scheduling applies the policy an ordinary send would at the time of the request, then checks the event against room auth without storing it. The service sends it once due through the ordinary append path.
Re-exportsΒ§
use std::time::Duration;πuse axum::extract::MatchedPath;πuse futures::future::OptionFuture;πuse ruma::DeviceId;πuse ruma::MilliSecondsSinceUnixEpoch;πuse ruma::RoomId;πuse ruma::TransactionId;πuse ruma::UserId;πuse ruma::events::AnyMessageLikeEventContent;πuse ruma::events::AnyStateEventContent;πuse ruma::events::MessageLikeEventType;πuse ruma::events::StateEventType;πuse ruma::events::TimelineEventType;πuse ruma::serde::Raw;πuse serde_json::from_str;πuse serde_json::value::RawValue as RawJsonValue;πuse tuwunel_core::Err;πuse tuwunel_core::Result;πuse tuwunel_core::err;πuse tuwunel_core::implement;πuse tuwunel_core::utils::time::millis;πuse tuwunel_core::utils::time::now_millis;πuse tuwunel_matrix::pdu::PduBuilder;πuse tuwunel_service::Services;πuse tuwunel_service::delayed_events::DelayId;πuse tuwunel_service::delayed_events::Event;πuse tuwunel_service::delayed_events::Limits;πuse tuwunel_service::rooms::timeline::RoomMutexGuard;πuse tuwunel_service::transaction_ids::RoomTxn;πpub(crate) use self::delay_query::send_message_event_or_delayed_route;πpub(crate) use self::delay_query::send_state_event_or_delayed_route;πpub(crate) use self::get_delayed_event::get_delayed_event_route;πpub(crate) use self::get_delayed_events::get_delayed_events_route;πpub(crate) use self::send_delayed_event::send_delayed_event_route;πpub(crate) use self::update_delayed_event::update_delayed_event_by_body_route;πpub(crate) use self::update_delayed_event::update_delayed_event_route;πuse crate::send::check_send_content;πuse crate::send::check_send_policy;πuse crate::state::allowed_to_send_state_event;πuse crate::state::check_member_content_size;π
ModulesΒ§
- delay_
query π - get_
delayed_ πevent - get_
delayed_ πevents - send_
delayed_ πevent - update_
delayed_ πevent
StructsΒ§
- Schedule π
EnumsΒ§
- Kind π
FunctionsΒ§
- check_
delay π - Returns the delay in milliseconds once it is positive and within limits.
- check_
room_ πauth - Builds and signs the event against the roomβs current state without storing it, refusing one room auth would reject now.
- is_
stable π - schedule π
- Schedules an event and returns its
delay_id.