Struct ClientState

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

A struct which goal is to give a generic access to attach any state to a client instance

It is internally used to cache RedisGraph metadata.

Implementations§

Source§

impl ClientState

Source

pub fn get_state<S: Default + Send + Sync + 'static>( &self, key: &str, ) -> Result<Option<&S>>

Get state with a specific type S for a specific key

§Return

Casted state to the required type or Ok(None) if key has not been found.

If the state does not already exists, it is created on the fly by calling S::default()

§Errors

An error if an entry has been found for the key but this entry cannot be downcasted to the required type.

Source

pub fn get_state_mut<S: Default + Send + Sync + 'static>( &mut self, key: &str, ) -> Result<&mut S>

Get state with a specific type S for a specific key

§Return

Casted state to the required type.

If the state does not already exists, it is created on the fly by calling S::default()

§Errors

An error if an entry has been found for the key but this entry cannot be downcasted to the required type.

Trait Implementations§

Source§

impl Default for ClientState

Source§

fn default() -> ClientState

Returns the “default value” for a type. 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> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

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

Initializes a with the given initializer. Read more
Source§

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

Dereferences the given pointer. Read more
Source§

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

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. 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> ErasedDestructor for T
where T: 'static,