package
0.0.0-20240920015431-2449756ff703
Repository: https://github.com/cloudflare/utahfs.git
Documentation: pkg.go.dev
# Functions
No description provided by the author
NewB2 returns object storage backed by Backblaze B2.
NewBlockMemory returns an implementation of BlockStorage that simply stores data in-memory.
NewBlockReliable returns a ReliableStorage implementation based on a BlockStorage implementation.
No description provided by the author
NewCache wraps a base object storage backend with an LRU cache of the requested size.
NewDisk returns object storage backed by an on-disk database stored at `loc`.
NewDiskCache wraps a base object storage backend with a large on-disk cache stored at `loc`.
NewGCS returns object storage backed by Google Compute Storage.
NewLocalOblivious returns an implementation of the ObliviousStorage interface, used for storing temporary ORAM data, that's backed by an on-disk database at `loc`.
NewLocalWAL returns a ReliableStorage implementation that achieves reliable writes over a base object storage provider by buffering writes in a Write-Ahead Log (WAL) stored at `loc`.
No description provided by the author
NewMemory returns an object storage backend that simply stores data in-memory.
NewPrefix wraps a base object storage backend, and ensures a user-provided prefix is added to all keys.
NewRemoteClient returns a ReliableStorage implementation that defers reads and writes to a remote server.
NewRemoteServer wraps a ReliableStorage implementation in an HTTP handler, allowing remote clients to make requests to it.
NewRetry wraps a base object storage backend, and will retry if requests fail.
NewS3 returns object storage backed by AWS S3 or a compatible service like Wasabi.
NewSimpleReliable returns a ReliableStorage implementation, intended for testing.
No description provided by the author
NewTieredCache returns a cache-like object storage implementation, where objects matching the `special` data type are stored in both `high` and `base`, while all other objects are stored only in `base`.
WithEncryption wraps a BlockStorage implementation and makes sure that all values are encrypted with AES-GCM before being processed further.
WithIntegrity wraps a BlockStorage implementation and builds a Merkle tree over the data stored.
WithORAM wraps a BlockStorage implementation and prevents outsiders from seeing the user's access pattern.
# Variables
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
# Structs
AppStorage is an extension of the BlockStorage interface that provides shared state.
BufferedStorage is an extension of the ReliableStorage interface that will buffer many changes and then commit them all at once.
MapMutex implements the ability to lock and unlock specific keys of a map.
State contains all of the shared global state of a deployment.
No description provided by the author
# Interfaces
BlockStorage is a derivative of ObjectStorage that uses uint64 pointers as keys instead of strings.
ObjectStorage defines the minimal interface that's implemented by a remote object storage provider.
ObliviousStorage defines the interface an ORAM implementation would use to access and store sensitive data.
ReliableStorage is an extension of the ObjectStorage interface that provides distributed locking (if necessary) and atomic transactions.
# Type aliases
DataType represents the semantics of the data in a Set operation.