pub struct BlobstoreS3Provider { /* private fields */ }
Expand description
Blobstore S3 provider
This struct will be the target of generated implementations (via wit-provider-bindgen) for the blobstore provider WIT contract
Implementations§
Trait Implementations§
source§impl Clone for BlobstoreS3Provider
impl Clone for BlobstoreS3Provider
source§fn clone(&self) -> BlobstoreS3Provider
fn clone(&self) -> BlobstoreS3Provider
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Default for BlobstoreS3Provider
impl Default for BlobstoreS3Provider
source§fn default() -> BlobstoreS3Provider
fn default() -> BlobstoreS3Provider
Returns the “default value” for a type. Read more
source§impl Handler<Option<Context>> for BlobstoreS3Provider
impl Handler<Option<Context>> for BlobstoreS3Provider
async fn clear_container( &self, cx: Option<Context>, name: String, ) -> Result<Result<(), String>>
async fn container_exists( &self, cx: Option<Context>, name: String, ) -> Result<Result<bool, String>>
async fn create_container( &self, cx: Option<Context>, name: String, ) -> Result<Result<(), String>>
async fn delete_container( &self, cx: Option<Context>, name: String, ) -> Result<Result<(), String>>
async fn get_container_info( &self, cx: Option<Context>, name: String, ) -> Result<Result<ContainerMetadata, String>>
async fn list_container_objects( &self, cx: Option<Context>, name: String, limit: Option<u64>, offset: Option<u64>, ) -> Result<Result<(Pin<Box<dyn Stream<Item = Vec<String>> + Send>>, Pin<Box<dyn Future<Output = Result<(), String>> + Send>>), String>>
async fn copy_object( &self, cx: Option<Context>, src: ObjectId, dest: ObjectId, ) -> Result<Result<(), String>>
async fn delete_object( &self, cx: Option<Context>, id: ObjectId, ) -> Result<Result<(), String>>
async fn delete_objects( &self, cx: Option<Context>, container: String, objects: Vec<String>, ) -> Result<Result<(), String>>
async fn get_container_data( &self, cx: Option<Context>, id: ObjectId, start: u64, end: u64, ) -> Result<Result<(Pin<Box<dyn Stream<Item = Bytes> + Send>>, Pin<Box<dyn Future<Output = Result<(), String>> + Send>>), String>>
async fn get_object_info( &self, cx: Option<Context>, id: ObjectId, ) -> Result<Result<ObjectMetadata, String>>
async fn has_object( &self, cx: Option<Context>, id: ObjectId, ) -> Result<Result<bool, String>>
async fn move_object( &self, cx: Option<Context>, src: ObjectId, dest: ObjectId, ) -> Result<Result<(), String>>
async fn write_container_data( &self, cx: Option<Context>, id: ObjectId, data: Pin<Box<dyn Stream<Item = Bytes> + Send>>, ) -> Result<Result<Pin<Box<dyn Future<Output = Result<(), String>> + Send>>, String>>
source§impl Provider for BlobstoreS3Provider
impl Provider for BlobstoreS3Provider
Handle provider control commands
put_link
(new component link command), del_link
(remove link command), and shutdown
source§async fn receive_link_config_as_target(
&self,
link_config: LinkConfig<'_>,
) -> Result<()>
async fn receive_link_config_as_target( &self, link_config: LinkConfig<'_>, ) -> Result<()>
Provider should perform any operations needed for a new link, including setting up per-component resources, and checking authorization. If the link is allowed, return true, otherwise return false to deny the link.
source§async fn delete_link_as_target(&self, info: impl LinkDeleteInfo) -> Result<()>
async fn delete_link_as_target(&self, info: impl LinkDeleteInfo) -> Result<()>
Handle notification that a link is dropped: close the connection
source§fn init(
&self,
init_config: impl ProviderInitConfig,
) -> impl Future<Output = Result<(), E>> + Send
fn init( &self, init_config: impl ProviderInitConfig, ) -> impl Future<Output = Result<(), E>> + Send
Initialize the provider Read more
source§fn on_config_update(
&self,
update: impl ProviderConfigUpdate,
) -> impl Future<Output = Result<(), E>> + Send
fn on_config_update( &self, update: impl ProviderConfigUpdate, ) -> impl Future<Output = Result<(), E>> + Send
Process a configuration update for the provider Read more
source§fn receive_link_config_as_source(
&self,
config: LinkConfig<'_>,
) -> impl Future<Output = Result<(), E>> + Send
fn receive_link_config_as_source( &self, config: LinkConfig<'_>, ) -> impl Future<Output = Result<(), E>> + Send
Receive and handle a link that has been established on the lattice where this provider is the source. Read more
source§fn delete_link_as_source(
&self,
_info: impl LinkDeleteInfo,
) -> impl Future<Output = Result<(), E>> + Send
fn delete_link_as_source( &self, _info: impl LinkDeleteInfo, ) -> impl Future<Output = Result<(), E>> + Send
Notify the provider that the link is dropped where the provider is the source
source§fn health_request(
&self,
_arg: &HealthCheckRequest,
) -> impl Future<Output = Result<HealthCheckResponse, E>> + Send
fn health_request( &self, _arg: &HealthCheckRequest, ) -> impl Future<Output = Result<HealthCheckResponse, E>> + Send
Perform health check. Called at regular intervals by host
Default implementation always returns healthy
Auto Trait Implementations§
impl Freeze for BlobstoreS3Provider
impl !RefUnwindSafe for BlobstoreS3Provider
impl Send for BlobstoreS3Provider
impl Sync for BlobstoreS3Provider
impl Unpin for BlobstoreS3Provider
impl !UnwindSafe for BlobstoreS3Provider
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)source§impl<T> FutureExt for T
impl<T> FutureExt for T
source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T
in a tonic::Request
Creates a shared type from an unshared type.