Skip to main content

DataStorageBuilder

Struct DataStorageBuilder 

Source
pub struct DataStorageBuilder<F: Format = Fixint> { /* private fields */ }
Expand description

Builder for creating data storage instances.

Provides methods to create local and distributed storage instances with configurable settings. The builder pattern allows for flexible configuration of storage behavior.

§Examples

// Create a local storage instance
let local_storage = builder.local("my-local-storage");

// Create a distributed storage instance with 60-second TTL
let remote_storage = builder.remote("my-remote-storage", 60000);

Implementations§

Source§

impl<F: Format + Clone> DataStorageBuilder<F>

Source

pub fn shared(self) -> Self

Indicates that storage should not be isolated to a single policy. The resulting state will be shared across policy instances that use the same storage ID.

Source

pub fn local<T: Into<String>>(&self, key: T) -> LocalDataStorage<F>

Creates a local data storage instance identified by the key.

Source

pub fn remote<T: Into<String>>( &self, key: T, ttl_millis: u32, ) -> RemoteDataStorage<F>

Creates a distributed data storage instance identified by the provided key and ttl in milliseconds.

Note: To make use of the remote mode of the data storage your Flex Gateway must have Shared Storage configured.

§Panics

Panics if distributed storage is not available in the current context. Ensure that distributed storage is properly configured before calling this method.

Trait Implementations§

Source§

impl<F: Format + Clone> Clone for DataStorageBuilder<F>

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl FromContext<ConfigureContext> for DataStorageBuilder<Fixint>

DataStorageBuilder can be injected in your configuration function.

#[entrypoint]
async fn configure(
    launcher: Launcher,
    store_builder: DataStorageBuilder,
    Configuration(configuration): Configuration,
) -> anyhow::Result<()> {
}

Auto Trait Implementations§

§

impl<F = Fixint> !RefUnwindSafe for DataStorageBuilder<F>

§

impl<F = Fixint> !Send for DataStorageBuilder<F>

§

impl<F = Fixint> !Sync for DataStorageBuilder<F>

§

impl<F = Fixint> !UnwindSafe for DataStorageBuilder<F>

§

impl<F> Freeze for DataStorageBuilder<F>

§

impl<F> Unpin for DataStorageBuilder<F>
where F: Unpin,

§

impl<F> UnsafeUnpin for DataStorageBuilder<F>

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, dest: *mut u8)

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

impl<C, T> Extract<T> for C
where T: FromContext<C>,

Source§

type Error = <T as FromContext<C>>::Error

Source§

fn extract(&self) -> Result<T, <C as Extract<T>>::Error>

Source§

fn extract_always(&self) -> T
where Self: Extract<T, Error = Infallible>,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<C, T> FromContextOnce<C, Repeat> for T
where T: for<'c> FromContext<C> + 'c,

Source§

type Error = <T as FromContext<C>>::Error

Source§

type Future<'c> = Ready<Result<T, <T as FromContextOnce<C, Repeat>>::Error>> where C: 'c, T: 'c

Source§

fn from_context_once( context: Exclusive<'_, C>, ) -> <T as FromContextOnce<C, Repeat>>::Future<'_>

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