pub trait Blobstore {
Show 13 methods // Required methods fn container_exists<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, ctx: &'life1 Context, arg: &'life2 ContainerId ) -> Pin<Box<dyn Future<Output = RpcResult<bool>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait; fn create_container<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, ctx: &'life1 Context, arg: &'life2 ContainerId ) -> Pin<Box<dyn Future<Output = RpcResult<()>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait; fn get_container_info<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, ctx: &'life1 Context, arg: &'life2 ContainerId ) -> Pin<Box<dyn Future<Output = RpcResult<ContainerMetadata>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait; fn list_containers<'life0, 'life1, 'async_trait>( &'life0 self, ctx: &'life1 Context ) -> Pin<Box<dyn Future<Output = RpcResult<ContainersInfo>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn remove_containers<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, ctx: &'life1 Context, arg: &'life2 ContainerIds ) -> Pin<Box<dyn Future<Output = RpcResult<MultiResult>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait; fn object_exists<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, ctx: &'life1 Context, arg: &'life2 ContainerObject ) -> Pin<Box<dyn Future<Output = RpcResult<bool>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait; fn get_object_info<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, ctx: &'life1 Context, arg: &'life2 ContainerObject ) -> Pin<Box<dyn Future<Output = RpcResult<ObjectMetadata>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait; fn list_objects<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, ctx: &'life1 Context, arg: &'life2 ListObjectsRequest ) -> Pin<Box<dyn Future<Output = RpcResult<ListObjectsResponse>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait; fn remove_objects<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, ctx: &'life1 Context, arg: &'life2 RemoveObjectsRequest ) -> Pin<Box<dyn Future<Output = RpcResult<MultiResult>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait; fn put_object<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, ctx: &'life1 Context, arg: &'life2 PutObjectRequest ) -> Pin<Box<dyn Future<Output = RpcResult<PutObjectResponse>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait; fn get_object<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, ctx: &'life1 Context, arg: &'life2 GetObjectRequest ) -> Pin<Box<dyn Future<Output = RpcResult<GetObjectResponse>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait; fn put_chunk<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, ctx: &'life1 Context, arg: &'life2 PutChunkRequest ) -> Pin<Box<dyn Future<Output = RpcResult<()>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait; // Provided method fn contract_id() -> &'static str { ... }
}
Expand description

The BlobStore service, provider side wasmbus.contractId: wasmcloud:blobstore wasmbus.providerReceive

Required Methods§

source

fn container_exists<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, ctx: &'life1 Context, arg: &'life2 ContainerId ) -> Pin<Box<dyn Future<Output = RpcResult<bool>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Returns whether the container exists

source

fn create_container<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, ctx: &'life1 Context, arg: &'life2 ContainerId ) -> Pin<Box<dyn Future<Output = RpcResult<()>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Creates a container by name, returning success if it worked Note that container names may not be globally unique - just unique within the “namespace” of the connecting actor and linkdef

source

fn get_container_info<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, ctx: &'life1 Context, arg: &'life2 ContainerId ) -> Pin<Box<dyn Future<Output = RpcResult<ContainerMetadata>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Retrieves information about the container. Returns error if the container id is invalid or not found.

source

fn list_containers<'life0, 'life1, 'async_trait>( &'life0 self, ctx: &'life1 Context ) -> Pin<Box<dyn Future<Output = RpcResult<ContainersInfo>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Returns list of container ids

source

fn remove_containers<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, ctx: &'life1 Context, arg: &'life2 ContainerIds ) -> Pin<Box<dyn Future<Output = RpcResult<MultiResult>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Empty and remove the container(s) The MultiResult list contains one entry for each container that was not successfully removed, with the ‘key’ value representing the container name. If the MultiResult list is empty, all container removals succeeded.

source

fn object_exists<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, ctx: &'life1 Context, arg: &'life2 ContainerObject ) -> Pin<Box<dyn Future<Output = RpcResult<bool>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Returns whether the object exists

source

fn get_object_info<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, ctx: &'life1 Context, arg: &'life2 ContainerObject ) -> Pin<Box<dyn Future<Output = RpcResult<ObjectMetadata>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Retrieves information about the object. Returns error if the object id is invalid or not found.

source

fn list_objects<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, ctx: &'life1 Context, arg: &'life2 ListObjectsRequest ) -> Pin<Box<dyn Future<Output = RpcResult<ListObjectsResponse>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Lists the objects in the container. If the container exists and is empty, the returned objects list is empty. Parameters of the request may be used to limit the object names returned with an optional start value, end value, and maximum number of items. The provider may limit the number of items returned. If the list is truncated, the response contains a continuation token that may be submitted in a subsequent ListObjects request.

Optional object metadata fields (i.e., contentType and contentEncoding) may not be filled in for ListObjects response. To get complete object metadata, use GetObjectInfo.

source

fn remove_objects<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, ctx: &'life1 Context, arg: &'life2 RemoveObjectsRequest ) -> Pin<Box<dyn Future<Output = RpcResult<MultiResult>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Removes the objects. In the event any of the objects cannot be removed, the operation continues until all requested deletions have been attempted. The MultiRequest includes a list of errors, one for each deletion request that did not succeed. If the list is empty, all removals succeeded.

source

fn put_object<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, ctx: &'life1 Context, arg: &'life2 PutObjectRequest ) -> Pin<Box<dyn Future<Output = RpcResult<PutObjectResponse>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Requests to start upload of a file/blob to the Blobstore. It is recommended to keep chunks under 1MB to avoid exceeding nats default message size

source

fn get_object<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, ctx: &'life1 Context, arg: &'life2 GetObjectRequest ) -> Pin<Box<dyn Future<Output = RpcResult<GetObjectResponse>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Requests to retrieve an object. If the object is large, the provider may split the response into multiple parts It is recommended to keep chunks under 1MB to avoid exceeding nats default message size

source

fn put_chunk<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, ctx: &'life1 Context, arg: &'life2 PutChunkRequest ) -> Pin<Box<dyn Future<Output = RpcResult<()>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Uploads a file chunk to a blobstore. This must be called AFTER PutObject It is recommended to keep chunks under 1MB to avoid exceeding nats default message size

Provided Methods§

source

fn contract_id() -> &'static str

returns the capability contract id for this interface

Implementors§