Crate verneuil

Crate verneuil 

Source

Re-exports§

pub use result::Result;

Modules§

replication_target
A replication target tells Verneuil where to copy the content-addressed chunks and directory files it finds in “ready” directories.
result
The Verneuil library uses Results with a simple error type, and relies on tracing / logging to track information about provenance and to map low-level errors to higher-level operations.

Macros§

chain
Returns an Error struct derived from initial, after tracing it at level level, with message and additional fields passed as a tracing::event.
chain_debug
chain_error
chain_info
chain_trace
chain_warn
debug_from_os
drop_result
If value evaluates to Err, matches the error payload against the patterns, evaluates the corresponding handling expression, and drops the result.
error_from_os
filtered_io_error
Creates a fresh Error struct from the std::io::Error error, and logs it at a dynamic level: if the error’s kind matches the pattern, the level is benign_level, otherwise it’s ERROR.
filtered_os_error
Creates a fresh Error struct from the last OS error, and logs it at a dynamic level: if the OS error’s kind matches the pattern, the level is benign_level, otherwise it’s ERROR.
fresh
Returns a fresh Error struct, after tracing it at level level, with message and additional fields passed as a tracing::event.
fresh_debug
fresh_error
fresh_info
fresh_trace
fresh_warn
from_os
Logs and creates a fresh Error struct from the last OS error.
info_from_os
trace_from_os
warn_from_os

Structs§

ForeignOptions
ForeignReplicationInfo
Manifest
When deserialising a Manifest, it usually makes sense to use Manifest::decode_and_validate and not the prost-derived Manifest::decode: the former checks for important invariants.
Options
Initialization options for the Verneuil VFS.
ReplicationProtoData
Snapshot

Enums§

SnapshotLoadingPolicy
How do we want to populate a snapshot’s data.

Constants§

VERNEUIL_CONFIG_ENV_VAR
Read the verneuil configuration from this variable by default.

Functions§

configure
Configures the Verneuil VFS.
configure_replication
Configures the replication subsystem, but not the sqlite VFS itself.
copy_all_spool_paths
Synchronously uploads all the data contained in the spooling directory prefix.
copy_spool_path
Synchronously copies any pending replication data in path.
current_replication_proto_for_db
Attempts to return the name for the manifest proto blob associated with source_db, and our local snapshot of that blob if available.
hostname
Returns the machine’s hostname, or a default placeholder if none.
load_configuration_from_env
Attempts to load a default Verneuil configuration from the var_name_or environment variable, or VERNEUIL_CONFIG_ENV_VAR if None. The variable’s value should be a config JSON for an Options struct, or “@/path/to/config_file.json”.
manifest_bytes_for_hostname_path
Attempts to fetch the latest manifest for the sqlite database at path on hostname_or (on the current machine if None).
manifest_bytes_for_path
Attempts to fetch the manifest from path.
manifest_name_for_hostname_path
Returns a conservatively percent-encoded URI for hostname_or and path. hostname_or defaults to the local machine’s hostname.
parse_configuration_string
Attempts to parse the Verneuil config in config. The string’s contents must be a config JSON for an Options struct, or a “@/path/to/config_file.json”.
verneuil_configure
This is the C-visible configuration function.
verneuil_manifest_name_destroy
Releases the CStr that backs name if non-NULL.
verneuil_manifest_name_for_hostname_path
Returns the name of the manifest blob for c_hostname and c_path, as a C string.
verneuil_replication_info_deinit
Releases resources owned by info_ptr
verneuil_replication_info_for_db
Populates dst_ptr with the replication information for sqlite file c_db, inside the c_prefix spooling directory (or NULL for the global default).
verneuil_replication_info_for_manifest
Populates dst_ptr with the replication information for manifest manifest_name in our remote replication targets.