#[non_exhaustive]pub struct SourceRecord {
pub source: ProviderId,
pub ids: Vec<WorkId>,
pub work: Work,
pub fields: FieldSet,
pub raw: Raw,
pub fetched_at: Timestamp,
}Expand description
One provider’s view of one work. Providers never merge records; the
engine does, keeping each SourceRecord as the recomputable source of
truth.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.source: ProviderId§ids: Vec<WorkId>Every identifier the provider asserts for this work, its own native ID first. These are the edges of the identifier graph.
work: Work§fields: FieldSetThe fields this record is authoritative for. A None inside a covered
field means “the provider has no value”, not “not asked”. The cache
serves a request from this record iff the request’s fields are a subset.
raw: Raw§fetched_at: TimestampImplementations§
Trait Implementations§
Source§impl Clone for SourceRecord
impl Clone for SourceRecord
Source§impl Debug for SourceRecord
impl Debug for SourceRecord
Source§impl<'de> Deserialize<'de> for SourceRecord
impl<'de> Deserialize<'de> for SourceRecord
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 SourceRecord
impl PartialEq for SourceRecord
Source§impl Serialize for SourceRecord
impl Serialize for SourceRecord
impl StructuralPartialEq for SourceRecord
Auto Trait Implementations§
impl Forget for SourceRecord
impl Freeze for SourceRecord
impl RefUnwindSafe for SourceRecord
impl Send for SourceRecord
impl Sync for SourceRecord
impl Unpin for SourceRecord
impl UnsafeUnpin for SourceRecord
impl UnwindSafe for SourceRecord
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