SnapshotMetadataReader class abstract interface

Optional capability layered on SessionStore for answering a metadata-only read (GetSnapshotDataInput.metadataOnly) without loading the row's state.

A store that does not implement it is still correct: the runtime reads the row in full and drops the state, paying to load a conversation history it will not use. A projecting store (SQL, Firestore) implements this to skip that load. All bundled stores implement it: InMemorySessionStore, FileSessionStore, and FirestoreSessionStore. Implement both methods or neither: the capability is detected as a whole.

Both methods honor the same id validation and null/error contract as SessionStore.getSnapshot: an empty id is rejected, a not-found row reads as null, and a corrupt/unreadable row surfaces as an error rather than as null (so a caller can tell corruption apart from "not found").

Implementers

Properties

hashCode int
The hash code for this object.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

getLatestSnapshotMetadata(String sessionId, {Map<String, dynamic>? context}) Future<SessionSnapshot?>
SessionStore.getSnapshot by sessionId (the session's latest leaf) without the state: the same resolution, the same null-if-none contract, and a row with state null. The resolved sessionId is carried on the returned row even for a row that stored it only under state.
getSnapshotMetadata(String snapshotId, {Map<String, dynamic>? context}) Future<SessionSnapshot?>
SessionStore.getSnapshot by snapshotId without the state: the returned row carries every other field as stored, with state null, and the same null-if-not-found contract.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited