matrix_sdk::sliding_sync

Struct SlidingSyncBuilder

Source
pub struct SlidingSyncBuilder { /* private fields */ }
Expand description

Configuration for a Sliding Sync instance.

Get a new builder with methods like crate::Client::sliding_sync, or crate::SlidingSync::builder.

Implementations§

Source§

impl SlidingSyncBuilder

Source

pub fn version(self, version: Version) -> Self

Set a specific version that will override the one from the Client.

Source

pub fn add_list(self, list_builder: SlidingSyncListBuilder) -> Self

Add the given list to the lists.

Replace any list with the same name.

Source

pub async fn add_cached_list(self, list: SlidingSyncListBuilder) -> Result<Self>

Enroll the list in caching, reloads it from the cache if possible, and adds it to the list of lists.

This will raise an error if there was a I/O error reading from the cache.

Replace any list with the same name.

Source

pub fn with_all_extensions(self) -> Self

Activate e2ee, to-device-message, account data, typing and receipt extensions if not yet configured.

Will leave any extension configuration found untouched, so the order does not matter.

Source

pub fn with_e2ee_extension(self, e2ee: E2EE) -> Self

Set the E2EE extension configuration.

Source

pub fn without_e2ee_extension(self) -> Self

Unset the E2EE extension configuration.

Source

pub fn with_to_device_extension(self, to_device: ToDevice) -> Self

Set the ToDevice extension configuration.

Source

pub fn without_to_device_extension(self) -> Self

Unset the ToDevice extension configuration.

Source

pub fn with_account_data_extension(self, account_data: AccountData) -> Self

Set the account data extension configuration.

Source

pub fn without_account_data_extension(self) -> Self

Unset the account data extension configuration.

Source

pub fn with_typing_extension(self, typing: Typing) -> Self

Set the Typing extension configuration.

Source

pub fn without_typing_extension(self) -> Self

Unset the Typing extension configuration.

Source

pub fn with_receipt_extension(self, receipt: Receipts) -> Self

Set the Receipt extension configuration.

Source

pub fn without_receipt_extension(self) -> Self

Unset the Receipt extension configuration.

Source

pub fn poll_timeout(self, timeout: Duration) -> Self

Sets a custom timeout duration for the sliding sync polling endpoint.

This is the maximum time to wait before the sliding sync server returns the long-polling request. If no events (or other data) become available before this time elapses, the server will a return a response with empty fields.

There’s an additional network timeout on top of that that can be configured with Self::network_timeout.

Source

pub fn network_timeout(self, timeout: Duration) -> Self

Sets a custom network timeout for the sliding sync polling.

This is not the polling timeout that can be configured with Self::poll_timeout, but an additional timeout that will be added to the former.

Source

pub fn share_pos(self) -> Self

Should the sliding sync instance share its sync position through storage?

In general, sliding sync instances will cache the sync position (pos field in the request) in internal memory. It can be useful, in multi-process scenarios, to save it into some shared storage so that one sliding sync instance running across two different processes can continue with the same sync position it had before being stopped.

Source

pub async fn build(self) -> Result<SlidingSync>

Build the Sliding Sync.

If self.storage_key is Some(_), load the cached data from cold storage.

Trait Implementations§

Source§

impl Clone for SlidingSyncBuilder

Source§

fn clone(&self) -> SlidingSyncBuilder

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for SlidingSyncBuilder

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, W> HasTypeWitness<W> for T
where W: MakeTypeWitness<Arg = T>, T: ?Sized,

Source§

const WITNESS: W = W::MAKE

A constant of the type witness
Source§

impl<T> Identity for T
where T: ?Sized,

Source§

const TYPE_EQ: TypeEq<T, <T as Identity>::Type> = TypeEq::NEW

Proof that Self is the same type as Self::Type, provides methods for casting between Self and Self::Type.
Source§

type Type = T

The same type as Self, used to emulate type equality bounds (T == U) with associated type equality constraints (T: Identity<Type = U>).
Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> Any for T
where T: Any,

Source§

impl<T> AsyncTraitDeps for T

Source§

impl<T> CloneAny for T
where T: Any + Clone,

Source§

impl<T> CloneAnySend for T
where T: Any + Send + Clone,

Source§

impl<T> CloneAnySendSync for T
where T: Any + Send + Sync + Clone,

Source§

impl<T> CloneAnySync for T
where T: Any + Sync + Clone,

Source§

impl<T> ErasedDestructor for T
where T: 'static,

Source§

impl<T> MaybeSendSync for T

Source§

impl<T> SendOutsideWasm for T
where T: Send,

Source§

impl<T> SyncOutsideWasm for T
where T: Sync,