DataStorageBuilder

Struct DataStorageBuilder 

Source
pub struct DataStorageBuilder { /* 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 DataStorageBuilder

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

Creates a local data storage instance identified by the key.

Source

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

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 FromContext<ConfigureContext> for DataStorageBuilder

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§

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