pub enum ContentSource {
File {
path: PathBuf,
},
InMemory {
content: String,
},
Database {
id: String,
},
Http {
url: String,
},
}Expand description
Source location for loading content on-demand.
This enables the progressive disclosure pattern where indices contain minimal metadata (name, description) while full content is loaded only when needed.
Variants§
File
File system path
InMemory
In-memory content (already loaded or code-defined)
Database
Database storage (for server environments)
Http
HTTP endpoint (for remote content)
Implementations§
Source§impl ContentSource
impl ContentSource
Sourcepub async fn load(&self) -> Result<String>
pub async fn load(&self) -> Result<String>
Load the content from this source.
This is the core lazy-loading mechanism. Content is only fetched when this method is called, not when the index is created.
Sourcepub fn is_in_memory(&self) -> bool
pub fn is_in_memory(&self) -> bool
Check if this is an in-memory source.
Sourcepub fn as_file_path(&self) -> Option<&PathBuf>
pub fn as_file_path(&self) -> Option<&PathBuf>
Get the file path if this is a file source.
Trait Implementations§
Source§impl Clone for ContentSource
impl Clone for ContentSource
Source§fn clone(&self) -> ContentSource
fn clone(&self) -> ContentSource
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ContentSource
impl Debug for ContentSource
Source§impl Default for ContentSource
impl Default for ContentSource
Source§impl<'de> Deserialize<'de> for ContentSource
impl<'de> Deserialize<'de> for ContentSource
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl PartialEq for ContentSource
impl PartialEq for ContentSource
Source§impl Serialize for ContentSource
impl Serialize for ContentSource
impl Eq for ContentSource
impl StructuralPartialEq for ContentSource
Auto Trait Implementations§
impl Freeze for ContentSource
impl RefUnwindSafe for ContentSource
impl Send for ContentSource
impl Sync for ContentSource
impl Unpin for ContentSource
impl UnwindSafe for ContentSource
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<D> DeserializeWith<JsonFormat> for Dwhere
D: DeserializeOwned,
impl<D> DeserializeWith<JsonFormat> for Dwhere
D: DeserializeOwned,
Source§fn deserialize_with(body: ResponseBody) -> Result<D, Error>
fn deserialize_with(body: ResponseBody) -> Result<D, Error>
Deserialize the response body using the specified format. Read more
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
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> 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 moreCreates a shared type from an unshared type.