Module Sapling.Roots

type context = Raw_context.t * id
type key = int32

An abstract type for keys

The type of values

Tells if a given key is already bound to a storage bucket

Retrieve a value from the storage bucket at a given key ; returns Storage_errorMissing_key if the key is not set ; returns Storage_errorCorrupted_data if the deserialisation fails.

Retrieve a value from the storage bucket at a given key ; returns None if the value is not set ; returns Storage_error Corrupted_data if the deserialisation fails.

Updates the content of a bucket ; returns A Storage_Error Missing_key if the value does not exist.

Allocates a storage bucket at the given key and initializes it ; returns a Storage_errorExisting_key if the bucket exists.

Allocates a storage bucket at the given key and initializes it with a value ; just updates it if the bucket exists.

When the value is Some v, allocates the data and initializes it with v ; just updates it if the bucket exists. When the value is None, deletes the storage bucket ; does nothing if the bucket does not exist.

Delete a storage bucket and its contents ; returns a Storage_errorMissing_key if the bucket does not exist.

Removes a storage bucket and its contents ; does nothing if the bucket does not exist.