Skip to main content

CacheVal

Trait CacheVal 

Source
pub trait CacheVal: DowncastSync + Debug {
    // Required methods
    fn _size(&self) -> u32;
    fn _type_id(&self) -> u64;
    fn __type_id() -> u64
       where Self: Sized;
    fn _shard_id(&self) -> ShardId;
    fn _time(&self) -> MSec;
    fn _estimate() -> usize
       where Self: Sized;
    fn _encode(&self) -> Result<Vec<u8>>;
    fn _decode(v: &[u8]) -> Result<Self>
       where Self: Sized;
}

Required Methods§

Source

fn _size(&self) -> u32

Source

fn _type_id(&self) -> u64

Source

fn __type_id() -> u64
where Self: Sized,

Source

fn _shard_id(&self) -> ShardId

Source

fn _time(&self) -> MSec

Source

fn _estimate() -> usize
where Self: Sized,

Source

fn _encode(&self) -> Result<Vec<u8>>

Source

fn _decode(v: &[u8]) -> Result<Self>
where Self: Sized,

Implementations§

Source§

impl dyn CacheVal

Source

pub fn is<__T: CacheVal>(&self) -> bool

Returns true if the trait object wraps an object of type __T.

Source

pub fn downcast<__T: CacheVal>(self: Box<Self>) -> Result<Box<__T>, Box<Self>>

Returns a boxed object from a boxed trait object if the underlying object is of type __T. Returns the original boxed trait if it isn’t.

Source

pub fn downcast_rc<__T: CacheVal>(self: Rc<Self>) -> Result<Rc<__T>, Rc<Self>>

Returns an Rc-ed object from an Rc-ed trait object if the underlying object is of type __T. Returns the original Rc-ed trait if it isn’t.

Source

pub fn downcast_ref<__T: CacheVal>(&self) -> Option<&__T>

Returns a reference to the object within the trait object if it is of type __T, or None if it isn’t.

Source

pub fn downcast_mut<__T: CacheVal>(&mut self) -> Option<&mut __T>

Returns a mutable reference to the object within the trait object if it is of type __T, or None if it isn’t.

Source

pub fn downcast_arc<__T: CacheVal + Any + Send + Sync>( self: Arc<Self>, ) -> Result<Arc<__T>, Arc<Self>>

Returns an Arc-ed object from an Arc-ed trait object if the underlying object is of type __T. Returns the original Arc-ed trait if it isn’t.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§