pub struct ArchiveManager {
pub(crate) tree: RwLock<ArchiveTree>,
pub(crate) modules: AsyncCache<ModuleUri, Module, BackendError>,
pub(crate) documents: AsyncCache<DocumentUri, Arc<DocumentFile>, BackendError>,
triple_store: RDFStore,
}Fieldsยง
ยงtree: RwLock<ArchiveTree>ยงmodules: AsyncCache<ModuleUri, Module, BackendError>Available on crate feature
ยงcached only.documents: AsyncCache<DocumentUri, Arc<DocumentFile>, BackendError>Available on crate feature
ยงcached only.triple_store: RDFStoreAvailable on crate feature
rdf only.Implementationsยง
Sourceยงimpl ArchiveManager
impl ArchiveManager
fn with_doc<R>( &self, uri: &DocumentUri, then: impl FnOnce(&DocumentFile) -> Result<R, BackendError>, other: impl FnOnce(&dyn ExternalArchive) -> Result<R, BackendError>, ) -> Result<R, BackendError>
fn with_doc_async<A: AsyncEngine, R: Send, T: Future<Output = Result<R, BackendError>> + Send, O: Future<Output = Result<R, BackendError>> + Send, Then: FnOnce(Arc<DocumentFile>) -> T + Send, Other: FnOnce(&dyn ExternalArchive) -> O>( &self, uri: &DocumentUri, then: Then, other: Other, ) -> impl Future<Output = Result<R, BackendError>> + Send + use<A, R, T, O, Then, Other>
pub(crate) fn query_notations<E: AsyncEngine, T: IsDocumentElement + 'static>( &self, iri: NamedNode, backend: &impl LocalBackend, get_not: fn(&SharedDocumentElement<T>) -> DataRef<Notation>, ) -> impl Iterator<Item = (DocumentElementUri, Notation)>
Available on crate feature
rdf only.Sourceยงimpl ArchiveManager
impl ArchiveManager
pub fn memory(&self) -> ManagerCacheSize
Available on crate feature
deepsize only.pub fn all_archives(&self) -> impl Deref<Target = [Archive]> + '_
pub const fn triple_store(&self) -> &RDFStore
Available on crate feature
rdf only.pub fn with_tree<R>(&self, f: impl FnOnce(&ArchiveTree) -> R) -> R
pub fn reinit<R>( &self, f: impl FnOnce(&mut ArchiveTree) -> R, paths: &[&Path], ) -> R
pub(crate) fn load_module( &self, archive: &ArchiveUri, path: Option<&UriPath>, name: &UriName, ) -> Result<Module, BackendError>
pub(crate) fn load_module_async<A: AsyncEngine>( &self, archive: &ArchiveUri, path: Option<&UriPath>, name: &UriName, ) -> impl Future<Output = Result<Module, BackendError>> + 'static + use<A>
Sourcepub fn load_one(
&self,
manifest: &Path,
rel_path: RelPath<'_>,
) -> Result<(), ManifestParseError>
pub fn load_one( &self, manifest: &Path, rel_path: RelPath<'_>, ) -> Result<(), ManifestParseError>
ยงErrors
pub fn load(&self, paths: &[&Path])
Sourcepub fn new_archive(
&self,
id: &ArchiveId,
base_uri: &BaseUri,
format: SourceFormatId,
default_file: &str,
content: &str,
) -> Result<PathBuf, NewArchiveError>
pub fn new_archive( &self, id: &ArchiveId, base_uri: &BaseUri, format: SourceFormatId, default_file: &str, content: &str, ) -> Result<PathBuf, NewArchiveError>
pub fn index(&self, external_url: &str) -> (Vec<Institution>, Vec<ArchiveIndex>)
pub fn index_async<A: AsyncEngine>( external_url: impl Fn() -> &'static str + Send + Sync + 'static, ) -> impl Future<Output = (Vec<Institution>, Vec<ArchiveIndex>)> + Send
Trait Implementationsยง
Sourceยงimpl Debug for ArchiveManager
impl Debug for ArchiveManager
Sourceยงimpl Default for ArchiveManager
impl Default for ArchiveManager
Sourceยงimpl LocalBackend for ArchiveManager
impl LocalBackend for ArchiveManager
type ArchiveIter<'a> = &'a [Archive] where Self: Sized
Sourceยงfn save(
&self,
in_doc: &DocumentUri,
rel_path: Option<&UriPath>,
log: FileOrString,
from: BuildTargetId,
result: Option<Box<dyn Artifact>>,
) -> Result<(), ArtifactSaveError>
fn save( &self, in_doc: &DocumentUri, rel_path: Option<&UriPath>, log: FileOrString, from: BuildTargetId, result: Option<Box<dyn Artifact>>, ) -> Result<(), ArtifactSaveError>
Errors Read more
fn with_archive<R>( &self, id: &ArchiveId, f: impl FnOnce(Option<&Archive>) -> R, ) -> R
fn with_archives<R>(&self, f: impl FnOnce(Self::ArchiveIter<'_>) -> R) -> Rwhere
Self: Sized,
fn with_archive_or_group<R>(
&self,
id: &ArchiveId,
f: impl FnOnce(Option<&ArchiveOrGroup>) -> R,
) -> Rwhere
Self: Sized,
Sourceยงfn get_document(&self, uri: &DocumentUri) -> Result<Document, BackendError>
fn get_document(&self, uri: &DocumentUri) -> Result<Document, BackendError>
Errors Read more
Sourceยงfn get_document_async<A: AsyncEngine>(
&self,
uri: &DocumentUri,
) -> impl Future<Output = Result<Document, BackendError>> + Send + use<A>where
Self: Sized,
fn get_document_async<A: AsyncEngine>(
&self,
uri: &DocumentUri,
) -> impl Future<Output = Result<Document, BackendError>> + Send + use<A>where
Self: Sized,
Errors Read more
Sourceยงfn get_html_full(&self, uri: &DocumentUri) -> Result<Box<str>, BackendError>
fn get_html_full(&self, uri: &DocumentUri) -> Result<Box<str>, BackendError>
Errors Read more
Sourceยงfn get_html_body(
&self,
uri: &DocumentUri,
) -> Result<(Box<[Css]>, Box<str>), BackendError>
fn get_html_body( &self, uri: &DocumentUri, ) -> Result<(Box<[Css]>, Box<str>), BackendError>
Errors Read more
Sourceยงfn get_html_body_async<A: AsyncEngine>(
&self,
uri: &DocumentUri,
) -> impl Future<Output = Result<(Box<[Css]>, Box<str>), BackendError>> + Send + use<A>where
Self: Sized,
fn get_html_body_async<A: AsyncEngine>(
&self,
uri: &DocumentUri,
) -> impl Future<Output = Result<(Box<[Css]>, Box<str>), BackendError>> + Send + use<A>where
Self: Sized,
Errors Read more
Sourceยงfn get_html_body_inner(
&self,
uri: &DocumentUri,
) -> Result<(Box<[Css]>, Box<str>), BackendError>
fn get_html_body_inner( &self, uri: &DocumentUri, ) -> Result<(Box<[Css]>, Box<str>), BackendError>
Errors Read more
Sourceยงfn get_html_body_inner_async<A: AsyncEngine>(
&self,
uri: &DocumentUri,
) -> impl Future<Output = Result<(Box<[Css]>, Box<str>), BackendError>> + Send + use<A>where
Self: Sized,
fn get_html_body_inner_async<A: AsyncEngine>(
&self,
uri: &DocumentUri,
) -> impl Future<Output = Result<(Box<[Css]>, Box<str>), BackendError>> + Send + use<A>where
Self: Sized,
Errors Read more
Sourceยงfn get_html_fragment(
&self,
uri: &DocumentUri,
range: DocumentRange,
) -> Result<(Box<[Css]>, Box<str>), BackendError>
fn get_html_fragment( &self, uri: &DocumentUri, range: DocumentRange, ) -> Result<(Box<[Css]>, Box<str>), BackendError>
Errors Read more
Sourceยงfn get_html_fragment_async<A: AsyncEngine>(
&self,
uri: &DocumentUri,
range: DocumentRange,
) -> impl Future<Output = Result<(Box<[Css]>, Box<str>), BackendError>> + Send + use<A>
fn get_html_fragment_async<A: AsyncEngine>( &self, uri: &DocumentUri, range: DocumentRange, ) -> impl Future<Output = Result<(Box<[Css]>, Box<str>), BackendError>> + Send + use<A>
Errors Read more
Sourceยงfn get_reference<T: Decode<()>>(
&self,
rf: &DocDataRef<T>,
) -> Result<T, BackendError>where
Self: Sized,
fn get_reference<T: Decode<()>>(
&self,
rf: &DocDataRef<T>,
) -> Result<T, BackendError>where
Self: Sized,
Errors Read more
Sourceยงfn get_module(&self, uri: &ModuleUri) -> Result<ModuleLike, BackendError>
fn get_module(&self, uri: &ModuleUri) -> Result<ModuleLike, BackendError>
Errors Read more
Sourceยงfn get_module_async<A: AsyncEngine>(
&self,
uri: &ModuleUri,
) -> impl Future<Output = Result<ModuleLike, BackendError>> + Send + use<A>where
Self: Sized,
fn get_module_async<A: AsyncEngine>(
&self,
uri: &ModuleUri,
) -> impl Future<Output = Result<ModuleLike, BackendError>> + Send + use<A>where
Self: Sized,
Errors Read more
Sourceยงfn get_notations<E: AsyncEngine>(
&self,
uri: &SymbolUri,
) -> impl Iterator<Item = (DocumentElementUri, Notation)>where
Self: Sized,
fn get_notations<E: AsyncEngine>(
&self,
uri: &SymbolUri,
) -> impl Iterator<Item = (DocumentElementUri, Notation)>where
Self: Sized,
Available on crate feature
rdf only.Sourceยงfn get_var_notations<E: AsyncEngine>(
&self,
uri: &DocumentElementUri,
) -> impl Iterator<Item = (DocumentElementUri, Notation)>where
Self: Sized,
fn get_var_notations<E: AsyncEngine>(
&self,
uri: &DocumentElementUri,
) -> impl Iterator<Item = (DocumentElementUri, Notation)>where
Self: Sized,
Available on crate feature
rdf only.Sourceยงfn get_declaration<T: IsDeclaration>(
&self,
uri: &SymbolUri,
) -> Result<SharedDeclaration<T>, BackendError>where
Self: Sized,
fn get_declaration<T: IsDeclaration>(
&self,
uri: &SymbolUri,
) -> Result<SharedDeclaration<T>, BackendError>where
Self: Sized,
Errors Read more
Sourceยงfn get_document_element(
&self,
uri: &DocumentElementUri,
) -> Result<SharedDocumentElement<DocumentElement>, BackendError>where
Self: Sized,
fn get_document_element(
&self,
uri: &DocumentElementUri,
) -> Result<SharedDocumentElement<DocumentElement>, BackendError>where
Self: Sized,
Errors Read more
Sourceยงasync fn get_document_element_async<A: AsyncEngine>(
&self,
uri: &DocumentElementUri,
) -> Result<SharedDocumentElement<DocumentElement>, BackendError>where
Self: Sized,
async fn get_document_element_async<A: AsyncEngine>(
&self,
uri: &DocumentElementUri,
) -> Result<SharedDocumentElement<DocumentElement>, BackendError>where
Self: Sized,
Errors Read more
Sourceยงfn get_typed_document_element<T: IsDocumentElement>(
&self,
uri: &DocumentElementUri,
) -> Result<SharedDocumentElement<T>, BackendError>where
Self: Sized,
fn get_typed_document_element<T: IsDocumentElement>(
&self,
uri: &DocumentElementUri,
) -> Result<SharedDocumentElement<T>, BackendError>where
Self: Sized,
Errors Read more
Sourceยงasync fn get_typed_document_element_async<A: AsyncEngine, T: IsDocumentElement>(
&self,
uri: &DocumentElementUri,
) -> Result<SharedDocumentElement<T>, BackendError>where
Self: Sized,
async fn get_typed_document_element_async<A: AsyncEngine, T: IsDocumentElement>(
&self,
uri: &DocumentElementUri,
) -> Result<SharedDocumentElement<T>, BackendError>where
Self: Sized,
Errors Read more
fn uri_of(&self, p: &Path) -> Option<DocumentUri>where
Self: Sized,
fn archive_of_source<R>(
&self,
p: &Path,
f: impl FnMut(&LocalArchive, RelPath<'_>) -> R,
) -> Option<R>where
Self: Sized,
fn archive_of<R>(
&self,
p: &Path,
f: impl FnMut(&LocalArchive, RelPath<'_>) -> R,
) -> Option<R>where
Self: Sized,
fn with_local_archive<R>(
&self,
id: &ArchiveId,
f: impl FnOnce(Option<&LocalArchive>) -> R,
) -> Rwhere
Self: Sized,
fn with_buildable_archive<R>(
&self,
id: &ArchiveId,
f: impl FnOnce(Option<&dyn BuildableArchive>) -> R,
) -> Rwhere
Self: Sized,
Auto Trait Implementationsยง
impl !Freeze for ArchiveManager
impl !RefUnwindSafe for ArchiveManager
impl Send for ArchiveManager
impl Sync for ArchiveManager
impl Unpin for ArchiveManager
impl UnsafeUnpin for ArchiveManager
impl !UnwindSafe for ArchiveManager
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
ยงimpl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
ยงfn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Converts
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.ยงfn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Converts
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.ยงfn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Converts
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Anyโs vtable from &Traitโs.ยงfn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Converts
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Anyโs vtable from &mut Traitโs.ยงimpl<T> DowncastSend for T
impl<T> DowncastSend for T
ยงimpl<T> DowncastSync for T
impl<T> DowncastSync for T
ยงimpl<E, T, Request, Encoding> FromReq<Patch<Encoding>, Request, E> for Twhere
Request: Req<E> + Send + 'static,
Encoding: Decodes<T>,
E: FromServerFnError,
impl<E, T, Request, Encoding> FromReq<Patch<Encoding>, Request, E> for Twhere
Request: Req<E> + Send + 'static,
Encoding: Decodes<T>,
E: FromServerFnError,
ยงimpl<E, T, Request, Encoding> FromReq<Post<Encoding>, Request, E> for Twhere
Request: Req<E> + Send + 'static,
Encoding: Decodes<T>,
E: FromServerFnError,
impl<E, T, Request, Encoding> FromReq<Post<Encoding>, Request, E> for Twhere
Request: Req<E> + Send + 'static,
Encoding: Decodes<T>,
E: FromServerFnError,
ยงimpl<E, T, Request, Encoding> FromReq<Put<Encoding>, Request, E> for Twhere
Request: Req<E> + Send + 'static,
Encoding: Decodes<T>,
E: FromServerFnError,
impl<E, T, Request, Encoding> FromReq<Put<Encoding>, Request, E> for Twhere
Request: Req<E> + Send + 'static,
Encoding: Decodes<T>,
E: FromServerFnError,
ยงimpl<E, Encoding, Response, T> FromRes<Patch<Encoding>, Response, E> for Twhere
Response: ClientRes<E> + Send,
Encoding: Decodes<T>,
E: FromServerFnError,
impl<E, Encoding, Response, T> FromRes<Patch<Encoding>, Response, E> for Twhere
Response: ClientRes<E> + Send,
Encoding: Decodes<T>,
E: FromServerFnError,
ยงimpl<E, Encoding, Response, T> FromRes<Post<Encoding>, Response, E> for Twhere
Response: ClientRes<E> + Send,
Encoding: Decodes<T>,
E: FromServerFnError,
impl<E, Encoding, Response, T> FromRes<Post<Encoding>, Response, E> for Twhere
Response: ClientRes<E> + Send,
Encoding: Decodes<T>,
E: FromServerFnError,
ยงimpl<E, Encoding, Response, T> FromRes<Put<Encoding>, Response, E> for Twhere
Response: ClientRes<E> + Send,
Encoding: Decodes<T>,
E: FromServerFnError,
impl<E, Encoding, Response, T> FromRes<Put<Encoding>, Response, E> for Twhere
Response: ClientRes<E> + Send,
Encoding: Decodes<T>,
E: FromServerFnError,
ยงimpl<T> Instrument for T
impl<T> Instrument for T
ยงfn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
ยงfn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Sourceยงimpl<T> IntoEither for T
impl<T> IntoEither for T
Sourceยงfn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSourceยงfn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreยงimpl<E, T, Encoding, Request> IntoReq<Patch<Encoding>, Request, E> for Twhere
Request: ClientReq<E>,
Encoding: Encodes<T>,
E: FromServerFnError,
impl<E, T, Encoding, Request> IntoReq<Patch<Encoding>, Request, E> for Twhere
Request: ClientReq<E>,
Encoding: Encodes<T>,
E: FromServerFnError,
ยงimpl<E, T, Encoding, Request> IntoReq<Post<Encoding>, Request, E> for Twhere
Request: ClientReq<E>,
Encoding: Encodes<T>,
E: FromServerFnError,
impl<E, T, Encoding, Request> IntoReq<Post<Encoding>, Request, E> for Twhere
Request: ClientReq<E>,
Encoding: Encodes<T>,
E: FromServerFnError,
ยงimpl<E, T, Encoding, Request> IntoReq<Put<Encoding>, Request, E> for Twhere
Request: ClientReq<E>,
Encoding: Encodes<T>,
E: FromServerFnError,
impl<E, T, Encoding, Request> IntoReq<Put<Encoding>, Request, E> for Twhere
Request: ClientReq<E>,
Encoding: Encodes<T>,
E: FromServerFnError,
ยงimpl<E, Response, Encoding, T> IntoRes<Patch<Encoding>, Response, E> for T
impl<E, Response, Encoding, T> IntoRes<Patch<Encoding>, Response, E> for T
ยงimpl<E, Response, Encoding, T> IntoRes<Post<Encoding>, Response, E> for T
impl<E, Response, Encoding, T> IntoRes<Post<Encoding>, Response, E> for T
ยงimpl<E, Response, Encoding, T> IntoRes<Put<Encoding>, Response, E> for T
impl<E, Response, Encoding, T> IntoRes<Put<Encoding>, Response, E> for T
ยงimpl<T> Pointable for T
impl<T> Pointable for T
ยงimpl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
ยงimpl<T> SerializableKey for T
impl<T> SerializableKey for T
ยงimpl<T> StorageAccess<T> for T
impl<T> StorageAccess<T> for T
ยงfn as_borrowed(&self) -> &T
fn as_borrowed(&self) -> &T
Borrows the value.
ยงfn into_taken(self) -> T
fn into_taken(self) -> T
Takes the value.