pub struct SourcePolicyUpdateSubscription(Arc<SourcePolicyUpdates>);Expand description
Shared drain for coalesced room source-policy invalidations.
Clones share one drain. The runtime must assign all clones to a single consumer task.
Tuple Fields§
§0: Arc<SourcePolicyUpdates>Implementations§
Source§impl SourcePolicyUpdateSubscription
impl SourcePolicyUpdateSubscription
Sourcepub async fn wait_for_update(&self) -> BTreeSet<RoomInstanceId>
pub async fn wait_for_update(&self) -> BTreeSet<RoomInstanceId>
Waits until at least one room needs a source-policy pass.
Sourcepub fn take_pending_updates(&self) -> BTreeSet<RoomInstanceId>
pub fn take_pending_updates(&self) -> BTreeSet<RoomInstanceId>
Drains updates published after the previous wait completed.
Trait Implementations§
Source§impl Clone for SourcePolicyUpdateSubscription
impl Clone for SourcePolicyUpdateSubscription
Source§fn clone(&self) -> SourcePolicyUpdateSubscription
fn clone(&self) -> SourcePolicyUpdateSubscription
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for SourcePolicyUpdateSubscription
impl RefUnwindSafe for SourcePolicyUpdateSubscription
impl Send for SourcePolicyUpdateSubscription
impl Sync for SourcePolicyUpdateSubscription
impl Unpin for SourcePolicyUpdateSubscription
impl UnsafeUnpin for SourcePolicyUpdateSubscription
impl UnwindSafe for SourcePolicyUpdateSubscription
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more