FMTCBackendInternalThreadSafe class abstract interface

An abstract interface that FMTC will use to communicate with a storage 'backend' (usually one root), from an existing bulk downloading thread

Should implement methods that operate in the same thread. Must be sendable between isolates when uninitialised, because it will be operated in another thread. Must be suitable for simultaneous initialiseation across multiple threads.

Should be set-up ready for intialisation, and set in the FMTCBackendAccessThreadSafe, from the initialisation of FMTCBackendInternal. See documentation on that class for more information.

Methods with a doc template in the doc string are for 'direct' public invocation.

See FMTCBackend for more information.

Properties

friendlyIdentifier String
Generic description/name of this backend
final
hashCode int
The hash code for this object.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

duplicate() FMTCBackendInternalThreadSafe
Create another instance of this internal thread that relies on the same root
initialise() FutureOr<void>
Start this thread safe database operator
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
readTile({required String url, String? storeName}) FutureOr<BackendTile?>
Retrieve a raw tile by the specified URL
startRecovery({required int id, required String storeName, required DownloadableRegion<BaseRegion> region, required int endTile}) FutureOr<void>
Create a recovery entity with a recoverable region from the specified components
toString() String
A string representation of this object.
inherited
uninitialise() FutureOr<void>
Stop this thread safe database operator
updateRecovery({required int id, required int newStartTile}) FutureOr<void>
Update the specified recovery entity with the new RecoveredRegion.start (equivalent)
writeTile({required String storeName, required String url, required Uint8List bytes}) FutureOr<void>
Create or update a tile (given a url and its bytes) in the specified store
writeTiles({required String storeName, required List<String> urls, required List<Uint8List> bytess}) FutureOr<void>
Create or update multiple tiles (given given their respective urls and bytess) in the specified store

Operators

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