pub struct SlidingSyncBuilder { /* private fields */ }
Available on crate feature experimental-sliding-sync only.
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 sliding_sync_proxy(self, value: Url) -> Self

Set the sliding sync proxy URL.

Note you might not need that in general, since the client uses the .well-known endpoint to automatically find the sliding sync proxy URL. This method should only be called if the proxy is at a different URL than the one publicized in the .well-known endpoint.

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: E2EEConfig) -> 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: ToDeviceConfig) -> 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: AccountDataConfig ) -> 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: TypingConfig) -> 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: ReceiptsConfig) -> 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

Available on crate feature e2e-encryption only.

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
§

impl<T> CompatExt for T

§

fn compat(self) -> Compat<T>

Applies the [Compat] adapter by value. Read more
§

fn compat_ref(&self) -> Compat<&T>

Applies the [Compat] adapter by shared reference. Read more
§

fn compat_mut(&mut self) -> Compat<&mut T>

Applies the [Compat] adapter by mutable reference. Read more
source§

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

source§

fn __clone_box(&self, _: Private) -> *mut ()

source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

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

§

fn from_ref(input: &T) -> T

Converts to this type from a reference to the input type.
§

impl<T> FutureExt for T

§

fn with_context(self, otel_cx: Context) -> WithContext<Self>

Attaches the provided Context to this type, returning a WithContext wrapper. Read more
§

fn with_current_context(self) -> WithContext<Self>

Attaches the current Context to this type, returning a WithContext wrapper. Read more
§

impl<T, UT> HandleAlloc<UT> for T
where T: Send + Sync,

§

fn new_handle(value: Arc<T>) -> Handle

Create a new handle for an Arc value Read more
§

fn clone_handle(handle: Handle) -> Handle

Clone a handle Read more
§

fn consume_handle(handle: Handle) -> Arc<T>

Consume a handle, getting back the initial Arc<>
§

fn get_arc(handle: Handle) -> Arc<Self>

Get a clone of the Arc<> using a “borrowed” handle. Read more
§

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

§

const WITNESS: W = W::MAKE

A constant of the type witness
§

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

§

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>).
§

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§

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.

§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

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

§

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>,

§

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>,

§

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

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

§

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> SendOutsideWasm for T
where T: Send,

source§

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