package
0.0.0-20200723042522-932836ee9d04
Repository: https://github.com/mixpanel/bb-storage.git
Documentation: pkg.go.dev

# Packages

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
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author

# Functions

CASPutProto is a helper function for storing Protobuf messages in the Content Addressable Storage (CAS).
NewCloudBlobAccess creates a BlobAccess that uses a cloud-based blob storage as a backend.
NewEmptyBlobInjectingBlobAccess is a decorator for BlobAccess that causes it to directly process any requests for blobs of size zero.
NewErrorBlobAccess creates a BlobAccess that returns a fixed error response.
NewExistenceCachingBlobAccess creates a decorator for BlobAccess that adds caching to the FindMissing() operation.
NewMetricsBlobAccess creates an adapter for BlobAccess that adds basic instrumentation in the form of Prometheus metrics.
NewReadFallbackBlobAccess creates a decorator for BlobAccess that causes reads for non-existent to be forwarded to a secondary storage backend.
NewRedisBlobAccess creates a BlobAccess that uses Redis as its backing store.
NewReferenceExpandingBlobAccess takes an Indirect Content Addressable Storage (ICAS) backend and converts it to a Content Addressable Storage (CAS) backend.
NewRemoteBlobAccess for use of HTTP/1.1 cache backend.
NewSizeDistinguishingBlobAccess creates a BlobAccess that splits up requests between two backends based on the size of the object specified in the digest.

# Variables

ACStorageType is capable of creating identifiers and buffers for objects stored in the Action Cache (AC).
CASStorageType is capable of creating identifiers and buffers for objects stored in the Content Addressable Storage (CAS).
ICASStorageType is capable of creating identifiers and buffers for objects stored in the Indirect Content Addressable Storage (ICAS).

# Interfaces

BlobAccess is an abstraction for a data store that can be used to hold both a Bazel Action Cache (AC) and Content Addressable Storage (CAS).
HTTPClient is an interface around Go's standard HTTP client type.
RedisClient is an interface that contains the set of functions of the Redis library that is used by this package.
StorageType is passed to many implementations of BlobAccess to be able to use the same BlobAccess implementation for both the Content Addressable Storage (CAS) and Action Cache (AC).