Keylike

Trait Keylike 

Source
pub trait Keylike<const MCL: usize, const MCC: usize, const MPL: usize, S> {
    // Required methods
    fn wdm_subspace_id(&self) -> &S;
    fn wdm_path(&self) -> &Path<MCL, MCC, MPL>;
}
Expand description

A keylike value is one that can be used to uniquely identify an Entry within a namespace-specific store.

A subspace_id and a path together uniquely identify an entry in a namespace, because between any two non-equal entries with of equal subspace_id, path, and namespace_id, one would overwrite the other.

This trait does not include the namespace id; we assume that entry storage is separated by namespace from the get-go.

Required Methods§

Source

fn wdm_subspace_id(&self) -> &S

Returns the subspace_id of self.

Source

fn wdm_path(&self) -> &Path<MCL, MCC, MPL>

Returns the path of self.

Implementations on Foreign Types§

Source§

impl<const MCL: usize, const MCC: usize, const MPL: usize, S> Keylike<MCL, MCC, MPL, S> for (S, Path<MCL, MCC, MPL>)

Source§

fn wdm_subspace_id(&self) -> &S

Source§

fn wdm_path(&self) -> &Path<MCL, MCC, MPL>

Source§

impl<const MCL: usize, const MCC: usize, const MPL: usize, S> Keylike<MCL, MCC, MPL, S> for (S, Path<MCL, MCC, MPL>, Timestamp)

Source§

fn wdm_subspace_id(&self) -> &S

Source§

fn wdm_path(&self) -> &Path<MCL, MCC, MPL>

Implementors§

Source§

impl<const MCL: usize, const MCC: usize, const MPL: usize, N, S, PD> Keylike<MCL, MCC, MPL, S> for Entry<MCL, MCC, MPL, N, S, PD>

Source§

impl<const MCL: usize, const MCC: usize, const MPL: usize, N, S, PD, AT> Keylike<MCL, MCC, MPL, S> for AuthorisedEntry<MCL, MCC, MPL, N, S, PD, AT>

Source§

impl<const MCL: usize, const MCC: usize, const MPL: usize, N, S, PD, AT> Keylike<MCL, MCC, MPL, S> for PossiblyAuthorisedEntry<MCL, MCC, MPL, N, S, PD, AT>