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