Class SourceIndex
- Namespace
- EncDotNet.S100.Collections
- Assembly
- EncDotNet.S100.Collections.dll
The result of indexing one CollectionSource: its items plus the fingerprint that decides whether a later refresh can reuse it.
public sealed record SourceIndex : IEquatable<SourceIndex>
- Inheritance
-
SourceIndex
- Implements
- Inherited Members
Remarks
An index is derived data: hosts cache it separately from the collection definitions and can always rebuild it by re-indexing the source.
Constructors
SourceIndex(Guid, DateTimeOffset, string?, IReadOnlyList<CollectionItem>, IReadOnlyList<IndexDiagnostic>)
The result of indexing one CollectionSource: its items plus the fingerprint that decides whether a later refresh can reuse it.
public SourceIndex(Guid SourceId, DateTimeOffset IndexedAt, string? Fingerprint, IReadOnlyList<CollectionItem> Items, IReadOnlyList<IndexDiagnostic> Diagnostics)
Parameters
SourceIdGuidThe indexed source's Id.
IndexedAtDateTimeOffsetWhen indexing completed.
FingerprintstringAn opaque token describing the source's state when indexed, or null when the source cannot be fingerprinted (the index is then always rebuilt on refresh).
ItemsIReadOnlyList<CollectionItem>The indexed items.
DiagnosticsIReadOnlyList<IndexDiagnostic>Problems met while indexing; none are fatal.
Remarks
An index is derived data: hosts cache it separately from the collection definitions and can always rebuild it by re-indexing the source.
Properties
Diagnostics
Problems met while indexing; none are fatal.
public IReadOnlyList<IndexDiagnostic> Diagnostics { get; init; }
Property Value
Fingerprint
An opaque token describing the source's state when indexed, or null when the source cannot be fingerprinted (the index is then always rebuilt on refresh).
public string? Fingerprint { get; init; }
Property Value
Groups
The groups the source defines, in display order, including groups that indexed no items (for a LocalManifestSource, its selected manifest groups); empty for sources without groups.
public IReadOnlyList<SourceIndexGroup> Groups { get; init; }
Property Value
IndexedAt
When indexing completed.
public DateTimeOffset IndexedAt { get; init; }
Property Value
Items
The indexed items.
public IReadOnlyList<CollectionItem> Items { get; init; }
Property Value
Presentation
For a SecomSource: which identity it presented when read, whether the service asked for one, and the outcome (#883); null for other sources.
public SecomPresentation? Presentation { get; init; }
Property Value
PublishedAt
When the publisher last generated the source's catalogue (for example a remote exchange catalogue's own date-time), if it says; otherwise null.
public DateTimeOffset? PublishedAt { get; init; }
Property Value
SourceId
The indexed source's Id.
public Guid SourceId { get; init; }