Skip to contents

aedes_download_snapshot() downloads the newest published synapse snapshots into your snapshot folder; select one with aedes_use_snapshot() to use it. The first download fetches the static data (about 1.7 GB) and a full snapshot (about 0.6 GB); later ones usually just fetch a few small checkpoints.

aedes_publish_snapshot() is for whoever maintains the snapshots: it makes the newest snapshot in root, and the earlier checkpoints it is built on, available for download from a folder served over https.

Usage

aedes_download_snapshot(url = NULL, root = aedes_snapshot_root(create = TRUE))

aedes_publish_snapshot(dest, root = aedes_snapshot_root(), snapshot = "latest")

Arguments

url

The address of the published snapshots (the folder or its manifest.json). The default (NULL) uses the aedes.snapshot_url option if set, and otherwise the standard address, which needs access to the aedes CAVE datastack to work out.

root

The local snapshot folder. Defaults to aedes_snapshot_root().

dest

The folder to publish into.

snapshot

The snapshot to publish; "latest" (the default) for the newest one in root.

Value

aedes_download_snapshot(): the tags downloaded, invisibly. aedes_publish_snapshot(): the manifest, invisibly.

Details

Snapshots are published with a manifest.json that lists every file with its size and md5. A download only fetches snapshots that are not already in root (snapshots never change once made), checks each file's md5 and places a snapshot's meta.json last, so an interrupted download is never mistaken for a snapshot; just run it again. Downloads use the curl command line tool and resume partial files.

Publishing hard links the files into dest when it is on the same filesystem as root (otherwise they are copied), so it takes no extra space. It includes the static data, the full snapshot that snapshot is built on and every complete checkpoint built on that full snapshot (see aedes_update_snapshot()). manifest.json is written last. Files that are no longer listed are removed one publish later, so that a client that has just read the previous manifest can still finish.

Examples

if (FALSE) { # \dontrun{
aedes_download_snapshot()
} # }