package
0.0.0-20200723042522-932836ee9d04
Repository: https://github.com/mixpanel/bb-storage.git
Documentation: pkg.go.dev
# Functions
NewCompactDigest creates a new CompactDigest based on a key that is returned by digest.Digest.GetKey().
NewHashingDigestLocationMap creates a DigestLocationMap backed by a hash table that uses a strategy similar to cuckoo hashing to handle collisions.
NewInMemoryBlockAllocator creates a block allocator that stores its blocks directly in memory, being backed by a simple byte slice.
NewInMemoryLocationRecordArray creates a LocationRecordArray that stores its data in memory.
NewLocalBlobAccess creates a caching storage backend that stores data on the local system (e.g., on disk or in memory).
NewPartitioningBlockAllocator implements a BlockAllocator that can be used by LocalBlobAccess to store data.
# Structs
Location at which a blob is stored within blocks managed by a LocalBlobAccess.
LocationRecord is a key-value pair that contains information on where a blob may be found.
LocationRecordKey contains a compact, partial binary representation of digest.Digest that is used to identify blobs in HashingDigestLocationMap.
LocationValidator assesses whether a Location of where a blob is stored is still valid.
# Interfaces
Block of storage that contains a sequence of blobs.
BlockAllocator is used by LocalBlobAccess to allocate large blocks of storage (in-memory or on-disk) at a time.
DigestLocationMap is equivalent to a map[CompactDigest]Location.
LocationRecordArray is equivalent to a []LocationRecord.
# Type aliases
CompactDigest is a binary representation of digest.Digest that is used as the key type by DigestLocationMap.