CacheWorker class

Worker maintaining Files cache and downloads.

Uses distributed caching strategy:

  1. In-memory cache, represented in FIFOCache.
  2. File-system cache.
Inheritance

Constructors

CacheWorker(CacheDriftProvider? _cacheLocal, DownloadDriftProvider? _downloadLocal)

Properties

cacheDirectory Rx<Directory?>
Directory this CacheWorker is to put the hashes to.
final
downloads RxObsMap<String, Downloading>
Observable map of Downloadings.
final
downloadsDirectory Rx<Directory?>
Directory this CacheWorker is to put the downloads to.
final
hashCode int
The hash code for this object.
no setterinherited
hashes HashSet<String>
Checksums of the stored caches.
final
info Rx<CacheInfo>
CacheInfo describing the cache properties.
final
initialized bool
Checks whether the controller has already been initialized.
no setterinherited
isClosed bool
Checks whether the controller has already been closed.
no setterinherited
onDelete InternalFinalCallback<void>
Internal callback that starts the cycle of this controller.
finalinherited
onStart InternalFinalCallback<void>
Called at the exact moment the widget is allocated in memory. It uses an internal "callable" type, to avoid any @overrides in subclases. This method should be internal and is required to define the lifetime cycle of the subclass.
finalinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

$configureLifeCycle() → void
inherited
add(Uint8List data, [String? checksum, String? url]) FutureOr<File?>
Adds the provided data to the cache.
checkDownloaded({required String filename, String? checksum, int? size, String? url}) Future<File?>
Checks that the File with provided parameters is downloaded.
clear() Future<void>
Clears the cache in the cache directory.
download(String url, String filename, int? size, {String? checksum, String? to}) Downloading
Downloads a file from the provided url.
ensureOptimized() Future<void>
Waits for locking operations to release the lock.
exists(String checksum) bool
Indicates whether checksum is in the cache.
get({String? url, String? checksum, dynamic onReceiveProgress(int count, int total)?, CancelToken? cancelToken, Future<void> onForbidden()?, CacheResponseType responseType = CacheResponseType.bytes}) FutureOr<CacheEntry>
Returns the bytes of File identified by its checksum.
getThumbhashProvider(ThumbHash thumbhash) ImageProvider<Object>
Returns the ImageProvider for the provided thumbhash.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
onClose() → void
Called before onDelete method. onClose might be used to dispose resources used by the controller. Like closing events, or streams before the controller is destroyed. Or dispose objects that can potentially create some memory leaks, like TextEditingControllers, AnimationControllers. Might be useful as well to persist some data on disk.
override
onInit() Future<void>
Called immediately after the widget is allocated in memory. You might use this to initialize something for the controller.
override
onReady() → void
Called 1 frame after onInit(). It is the perfect place to enter navigation events, like snackbar, dialogs, or a new route, or async request.
inherited
open(String? checksum, int? size) Future<bool>
Opens a File identified by its checksum, if downloaded, or otherwise returns false.
setMaxSize(int? size) Future<void>
Sets the maximum allowed size of the cache.
toString() String
A string representation of this object.
inherited

Operators

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

Static Properties

instance CacheWorker
CacheWorker singleton instance.
getter/setter pair