SqlitePersistenceConfig class

SQLite-specific persistence configuration.

Unlike Hive (which spreads the keystore / commit log / access log / notifications across four storage directories), the SQLite backend keeps all of an atSign's data in a single atsign.db file under a per-atSign directory: <storagePath>/<atSign>/atsign.db. The four path getters the AtPersistenceConfig contract requires therefore all resolve to the one storage root — they are vestigial for a single-file backend but kept for interface conformance.

Implemented types

Constructors

SqlitePersistenceConfig({required String storagePath, String? backendMarkerPath, bool enableAccessLog = true, bool enableNotificationKeystore = true, bool enableCommitLog = true})
SqlitePersistenceConfig.clientDefaults({required String storagePath, String? backendMarkerPath})
at_client-shaped config: keystore only, commit-log-free.
factory
SqlitePersistenceConfig.serverDefaults({required String storagePath, String? backendMarkerPath})
atSecondary server config: all optional capabilities on.
factory

Properties

accessLogPath → String
Where the access log lives. Only consulted when enableAccessLog is true.
no setteroverride
backend → AtPersistenceBackendId
The backend this config is for. Must match the AtPersistenceFactory.backendId you pass it to.
no setteroverride
backendMarkerPath → String
Where the marker file lives. A future backend-aware factory will use this to detect backend changes between restarts; the current implementation doesn't read it, it's declared here so the field is part of the contract from day one.
final
commitLogPath → String
Where the commit log lives.
no setteroverride
enableAccessLog → bool
Whether the access log should be initialised. Server-only — clients leave this false and never read the access log.
final
enableCommitLog → bool
Whether the keystore should be initialised with a commit log. Server bundles set this true (every write appends to the commit log for sync). Clients that no longer rely on a commit log leave it false, in which case the keystore is created commit-log-free and commitLogPath is never consulted.
final
enableNotificationKeystore → bool
Whether the notification keystore should be initialised as persistence. Server-only — clients leave this false and handle notifications via the at_lookup connection instead.
final
hashCode → int
The hash code for this object.
no setterinherited
notificationStoragePath → String
Where the notification keystore lives. Only consulted when enableNotificationKeystore is true.
no setteroverride
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
storagePath → String
The SQLite storage root. Per-atSign databases live at <storagePath>/<atSign>/atsign.db, so this is typically a .../sqlite directory sibling to the Hive tree.
final

Methods

dbPathFor(String atSign) → String
The .db file path for atSign: <storagePath>/<atSign>/atsign.db.
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