use crate::cache::wrapper_cache::WrapperCache;
use polywrap_core::uri::Uri;
use polywrap_core::wrapper::Wrapper;
use std::collections::HashMap;
use std::sync::Arc;
pub struct BasicWrapperCache {
cache: HashMap<Uri, Arc<dyn Wrapper>>,
}
impl BasicWrapperCache {
pub fn new() -> BasicWrapperCache {
BasicWrapperCache {
cache: HashMap::new(),
}
}
}
impl WrapperCache for BasicWrapperCache {
fn get(&self, uri: &Uri) -> Option<&Arc<dyn Wrapper>> {
self.cache.get(uri)
}
fn set(&mut self, uri: Uri, wrapper: Arc<dyn Wrapper>) {
self.cache.insert(uri, wrapper);
}
}