Table of Contents

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

SourceId Guid

The indexed source's Id.

IndexedAt DateTimeOffset

When indexing completed.

Fingerprint string

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).

Items IReadOnlyList<CollectionItem>

The indexed items.

Diagnostics IReadOnlyList<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

IReadOnlyList<IndexDiagnostic>

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

string

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

IReadOnlyList<SourceIndexGroup>

IndexedAt

When indexing completed.

public DateTimeOffset IndexedAt { get; init; }

Property Value

DateTimeOffset

Items

The indexed items.

public IReadOnlyList<CollectionItem> Items { get; init; }

Property Value

IReadOnlyList<CollectionItem>

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

SecomPresentation

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

DateTimeOffset?

SourceId

The indexed source's Id.

public Guid SourceId { get; init; }

Property Value

Guid