content_addressable_storage_server

package
v1.1.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 24, 2020 License: MIT Imports: 14 Imported by: 3

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewDirStack

func NewDirStack(token string) (*dirStack, error)

Types

type ContentAddressableStorageServer

type ContentAddressableStorageServer struct {
	// contains filtered or unexported fields
}

func NewContentAddressableStorageServer

func NewContentAddressableStorageServer(env environment.Env) (*ContentAddressableStorageServer, error)

func (*ContentAddressableStorageServer) BatchReadBlobs

Download many blobs at once.

The server may enforce a limit of the combined total size of blobs to be downloaded using this API. This limit may be obtained using the [Capabilities][build.bazel.remote.execution.v2.Capabilities] API. Requests exceeding the limit should either be split into smaller chunks or downloaded using the [ByteStream API][google.bytestream.ByteStream], as appropriate.

This request is equivalent to calling a Bytestream `Read` request on each individual blob, in parallel. The requests may succeed or fail independently.

Errors:

  • `INVALID_ARGUMENT`: The client attempted to read more than the server supported limit.

Every error on individual read will be returned in the corresponding digest status.

func (*ContentAddressableStorageServer) BatchUpdateBlobs

Upload many blobs at once.

The server may enforce a limit of the combined total size of blobs to be uploaded using this API. This limit may be obtained using the [Capabilities][build.bazel.remote.execution.v2.Capabilities] API. Requests exceeding the limit should either be split into smaller chunks or uploaded using the [ByteStream API][google.bytestream.ByteStream], as appropriate.

This request is equivalent to calling a Bytestream `Write` request on each individual blob, in parallel. The requests may succeed or fail independently.

Errors:

  • `INVALID_ARGUMENT`: The client attempted to upload more than the server supported limit.

Individual requests may return the following errors, additionally:

* `RESOURCE_EXHAUSTED`: There is insufficient disk quota to store the blob. * `INVALID_ARGUMENT`: The [Digest][build.bazel.remote.execution.v2.Digest] does not match the provided data.

func (*ContentAddressableStorageServer) FindMissingBlobs

Determine if blobs are present in the CAS.

Clients can use this API before uploading blobs to determine which ones are already present in the CAS and do not need to be uploaded again.

There are no method-specific errors.

func (*ContentAddressableStorageServer) GetTree

Fetch the entire directory tree rooted at a node.

This request must be targeted at a [Directory][build.bazel.remote.execution.v2.Directory] stored in the [ContentAddressableStorage][build.bazel.remote.execution.v2.ContentAddressableStorage] (CAS). The server will enumerate the `Directory` tree recursively and return every node descended from the root.

The GetTreeRequest.page_token parameter can be used to skip ahead in the stream (e.g. when retrying a partially completed and aborted request), by setting it to a value taken from GetTreeResponse.next_page_token of the last successfully processed GetTreeResponse).

The exact traversal order is unspecified and, unless retrieving subsequent pages from an earlier request, is not guaranteed to be stable across multiple invocations of `GetTree`.

If part of the tree is missing from the CAS, the server will return the portion present and omit the rest.

Errors:

* `NOT_FOUND`: The requested tree root is not present in the CAS.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL