Struct aruna_cache::cache::Cache
source · pub struct Cache {
pub relations_cache: DashMap<Resource, DashSet<Resource, RandomState>, RandomState>,
pub name_cache: DashMap<String, DashSet<Resource, RandomState>, RandomState>,
pub shared_to_pid: DashMap<DieselUlid, Resource, RandomState>,
pub pid_to_shared: DashMap<DieselUlid, Resource, RandomState>,
pub object_cache: DashMap<Resource, ApiResource, RandomState>,
pub user_cache: DashMap<DieselUlid, User, RandomState>,
pub pubkeys: DashMap<i32, PubKey, RandomState>,
pub oidc_ids: DashMap<String, DieselUlid, RandomState>,
pub lock: Arc<AtomicBool>,
}Fields§
§relations_cache: DashMap<Resource, DashSet<Resource, RandomState>, RandomState>§name_cache: DashMap<String, DashSet<Resource, RandomState>, RandomState>§object_cache: DashMap<Resource, ApiResource, RandomState>§user_cache: DashMap<DieselUlid, User, RandomState>§pubkeys: DashMap<i32, PubKey, RandomState>§oidc_ids: DashMap<String, DieselUlid, RandomState>§lock: Arc<AtomicBool>Implementations§
source§impl Cache
impl Cache
pub fn new() -> Self
pub fn traverse_graph( &self, from: &Resource ) -> Result<Vec<(Resource, Resource)>>
pub fn check_with_targets( &self, from: &Resource, targets: Vec<Resource> ) -> Result<()>
pub fn check_from_multi_with_targets( &self, from: Vec<&Resource>, targets: Vec<Resource> ) -> Result<()>
pub fn get_parents(&self, from: &Resource) -> Result<Vec<(Resource, Resource)>>
pub fn remove_all_res(&self, res: Resource)
pub fn get_persistent(&self, shared: &DieselUlid) -> Option<Resource>
pub fn add_pubkey(&self, id: i32, pk: PubKey)
pub fn remove_pubkey(&self, id: i32)
pub fn set_pubkeys(&self, pks: Vec<Pubkey>)
pub fn get_pubkeys(&self) -> Vec<PubKey>
pub fn add_or_update_user(&self, user: User) -> Result<()>
pub fn get_user_by_oidc(&self, oidc_id: &str) -> Option<User>
pub fn get_user(&self, user_id: DieselUlid) -> Option<User>
pub fn remove_user(&self, user_id: &DieselUlid)
pub fn get_resource(&self, res: &Resource) -> Option<Resource>
pub fn remove_resource( &self, persistent_resource: Resource, shared_id: DieselUlid )
pub fn process_api_resource_update( &self, res: ApiResource, shared_id: DieselUlid, persistent_resource: Resource ) -> Result<()>
pub fn process_full_sync(&self, fs_data: FullSyncData) -> Result<()>
pub fn traverse_res_path(&self, name: &str) -> Result<Vec<ResPath>>
pub fn get_name_path(&self, name: String) -> Result<Vec<(Resource, Resource)>>
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for Cache
impl Send for Cache
impl Sync for Cache
impl Unpin for Cache
impl UnwindSafe for Cache
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request