CacheConfig in wasmtime - Rust (original) (raw)

pub struct CacheConfig { /* private fields */ }

Available on crate feature cache only.

Expand description

Global configuration for how the cache is managed

Source§

Source

Creates a new set of configuration which represents a disabled cache

Source

Loads cache configuration specified at path.

This method will read the file specified by path on the filesystem and attempt to load cache configuration from it. This method can also fail due to I/O errors, misconfiguration, syntax errors, etc. For expected syntax in the configuration file see the documentation online.

Passing in None loads cache configuration from the system default path. This is located, for example, on Unix at $HOME/.config/wasmtime/config.tomland is typically created with the wasmtime config new command.

§Errors

This method can fail due to any error that happens when loading the file pointed to by path and attempting to load the cache configuration.

Source

Returns worker_event_queue_size.

Panics if the cache is disabled.

Source

Returns baseline_compression_level.

Panics if the cache is disabled.

Source

Returns optimized_compression_level.

Panics if the cache is disabled.

Source

Returns optimized_compression_usage_counter_threshold.

Panics if the cache is disabled.

Source

Returns cleanup_interval.

Panics if the cache is disabled.

Source

Returns optimizing_compression_task_timeout.

Panics if the cache is disabled.

Source

Returns allowed_clock_drift_for_files_from_future.

Panics if the cache is disabled.

Source

Returns file_count_soft_limit.

Panics if the cache is disabled.

Source

Returns files_total_size_soft_limit.

Panics if the cache is disabled.

Source

Returns file_count_limit_percent_if_deleting.

Panics if the cache is disabled.

Source

Returns files_total_size_limit_percent_if_deleting.

Panics if the cache is disabled.

Source

Returns path to the cache directory.

Panics if the cache is disabled.

Source

Specify where the cache directory is. Must be an absolute path.

Source

Size of cache worker event queue. If the queue is full, incoming cache usage events will be dropped.

Source

Compression level used when a new cache file is being written by the cache system. Wasmtime uses zstd compression.

Source

Compression level used when the cache worker decides to recompress a cache file. Wasmtime uses zstd compression.

Source

One of the conditions for the cache worker to recompress a cache file is to have usage count of the file exceeding this threshold.

Source

When the cache worker is notified about a cache file being updated by the cache system and this interval has already passed since last cleaning up, the worker will attempt a new cleanup.

Source

When the cache worker decides to recompress a cache file, it makes sure that no other worker has started the task for this file within the last optimizing-compression-task-timeout interval. If some worker has started working on it, other workers are skipping this task.

Source

§Locks

When the cache worker attempts acquiring a lock for some task, it checks if some other worker has already acquired such a lock. To be fault tolerant and eventually execute every task, the locks expire after some interval. However, because of clock drifts and different timezones, it would happen that some lock was created in the future. This setting defines a tolerance limit for these locks. If the time has been changed in the system (i.e. two years backwards), the cache system should still work properly. Thus, these locks will be treated as expired (assuming the tolerance is not too big).

§Cache files

Similarly to the locks, the cache files or their metadata might have modification time in distant future. The cache system tries to keep these files as long as possible. If the limits are not reached, the cache files will not be deleted. Otherwise, they will be treated as the oldest files, so they might survive. If the user actually uses the cache file, the modification time will be updated.

Source

Soft limit for the file count in the cache directory.

This doesn’t include files with metadata. To learn more, please refer to the cache system section.

Source

Soft limit for the total size* of files in the cache directory.

This doesn’t include files with metadata. To learn more, please refer to the cache system section.

*this is the file size, not the space physically occupied on the disk.

Source

If file-count-soft-limit is exceeded and the cache worker performs the cleanup task, then the worker will delete some cache files, so after the task, the file count should not exceed file-count-soft-limit * file-count-limit-percent-if-deleting.

This doesn’t include files with metadata. To learn more, please refer to the cache system section.

Source

If files-total-size-soft-limit is exceeded and cache worker performs the cleanup task, then the worker will delete some cache files, so after the task, the files total size should not exceed files-total-size-soft-limit * files-total-size-limit-percent-if-deleting.

This doesn’t include files with metadata. To learn more, please refer to the cache system section.

§

§

§

§

§

§