View Source Baobab (Baobab v0.16.4)
Baobab is an Elixir implementation of the Bamboo append-only log.
It is fairly opinionated about the DETS persistence of the logs. They are considered to be a spool of the logs as retreived.
Consumers of this library may wish to place a local copy of the logs in a store with better indexing and query properties.
configuration
Configuration
config :baobab, spool_dir: "/tmp"
options
Options
format::entryor:binary, default::entrylog_id: the author's log identifier, default0clump_id: the bamboo clump with which associated, default:"default"revalidate: confirm the store contents are unchanged, default:falsereplace: rewrite log contents even if it exists, default:false
Link to this section Summary
Functions
A list of all {author, log_id, seqnum} tuples in the configured store
Retrieve the list of sequence numbers on a particular log identified by the author key and log number
Create and store a new log entry for a stored identity
Retrieve a list of all populated clumps
Compact log contents to only items in the certificate pool for the latest entry. This allows validation while reducing space used
Retrieve all available entries in a particular log
Retrieve an author log at a particular sequence number. Includes the available certificate pool for its verification.
Retreive a paticular entry by author and sequence number.
Retrieve all available author log entries over a specified range: {first, last}.
Retrieve the latest sequence number on a particular log identified by the author key and log number
Purges a given log.
A list of {author, log_id, max_seqnum} tuples in the configured store
Link to this section Functions
A list of all {author, log_id, seqnum} tuples in the configured store
Retrieve the list of sequence numbers on a particular log identified by the author key and log number
Create and store a new log entry for a stored identity
Retrieve a list of all populated clumps
Compact log contents to only items in the certificate pool for the latest entry. This allows validation while reducing space used
Retrieve all available entries in a particular log
Retrieve an author log at a particular sequence number. Includes the available certificate pool for its verification.
Using :max as the sequence number will use the latest
Retreive a paticular entry by author and sequence number.
:max for the sequence number retrieves the latest known entry
Retrieve all available author log entries over a specified range: {first, last}.
Retrieve the latest sequence number on a particular log identified by the author key and log number
Purges a given log.
:all may be specified for author and/or the log_id option.
Specifying both effectively clears the entire store.
Returns stored_info/0
examples
Examples
iex> Baobab.purge(:all, log_id: :all) []
A list of {author, log_id, max_seqnum} tuples in the configured store