pub trait Blobstore {
Show 13 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
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: '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
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: '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
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: '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
'life0: 'async_trait,
'life1: 'async_trait,
Self: '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
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: '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
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: '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
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: '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
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: '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
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: '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
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: '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
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: '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
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait;
fn contract_id() -> &'static str { ... }
}
Expand description
The BlobStore service, provider side wasmbus.contractId: wasmcloud:blobstore wasmbus.providerReceive
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
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
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
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
Returns whether the container exists
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
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: '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
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: '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
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
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: '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
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
Retrieves information about the container. Returns error if the container id is invalid or not found.
fn list_containers<'life0, 'life1, 'async_trait>(
&'life0 self,
ctx: &'life1 Context
) -> Pin<Box<dyn Future<Output = RpcResult<ContainersInfo>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
Self: '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
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
Returns list of container ids
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
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: '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
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: '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.
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
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: '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
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
Returns whether the object exists
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
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: '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
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
Retrieves information about the object. Returns error if the object id is invalid or not found.
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
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: '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
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: '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.
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
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: '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
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: '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.
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
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: '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
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: '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
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
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: '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
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: '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
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
fn contract_id() -> &'static str
fn contract_id() -> &'static str
returns the capability contract id for this interface