pub trait Blobstore: Client {
Show 42 associated items type ClearContainerInvocationStream; type ContainerExistsInvocationStream; type CreateContainerInvocationStream; type DeleteContainerInvocationStream; type GetContainerInfoInvocationStream; type ListContainerObjectsInvocationStream; type CopyObjectInvocationStream; type DeleteObjectInvocationStream; type DeleteObjectsInvocationStream; type GetContainerDataInvocationStream; type GetObjectInfoInvocationStream; type HasObjectInvocationStream; type MoveObjectInvocationStream; type WriteContainerDataInvocationStream; // Required methods fn invoke_clear_container( &self, name: String ) -> impl Future<Output = Result<(Result<(), String>, Self::Transmission)>> + Send; fn serve_clear_container( &self ) -> impl Future<Output = Result<Self::ClearContainerInvocationStream>> + Send; fn invoke_container_exists( &self, name: String ) -> impl Future<Output = Result<(Result<bool, String>, Self::Transmission)>> + Send; fn serve_container_exists( &self ) -> impl Future<Output = Result<Self::ContainerExistsInvocationStream>> + Send; fn invoke_create_container( &self, name: String ) -> impl Future<Output = Result<(Result<(), String>, Self::Transmission)>> + Send; fn serve_create_container( &self ) -> impl Future<Output = Result<Self::CreateContainerInvocationStream>> + Send; fn invoke_delete_container( &self, name: String ) -> impl Future<Output = Result<(Result<(), String>, Self::Transmission)>> + Send; fn serve_delete_container( &self ) -> impl Future<Output = Result<Self::DeleteContainerInvocationStream>> + Send; fn invoke_get_container_info( &self, name: String ) -> impl Future<Output = Result<(Result<ContainerMetadata, String>, Self::Transmission)>> + Send; fn serve_get_container_info( &self ) -> impl Future<Output = Result<Self::GetContainerInfoInvocationStream>> + Send; fn invoke_list_container_objects( &self, name: String, limit: Option<u64>, offset: Option<u64> ) -> impl Future<Output = Result<(Result<Box<dyn Stream<Item = Result<Vec<String>>> + Send + Sync + Unpin>, String>, Self::Transmission)>> + Send; fn serve_list_container_objects( &self ) -> impl Future<Output = Result<Self::ListContainerObjectsInvocationStream>> + Send; fn invoke_copy_object( &self, src: ObjectId, dest: ObjectId ) -> impl Future<Output = Result<(Result<(), String>, Self::Transmission)>> + Send; fn serve_copy_object( &self ) -> impl Future<Output = Result<Self::CopyObjectInvocationStream>> + Send; fn invoke_delete_object( &self, id: ObjectId ) -> impl Future<Output = Result<(Result<(), String>, Self::Transmission)>> + Send; fn serve_delete_object( &self ) -> impl Future<Output = Result<Self::DeleteObjectInvocationStream>> + Send; fn invoke_delete_objects( &self, container: String, objects: Vec<String> ) -> impl Future<Output = Result<(Result<(), String>, Self::Transmission)>> + Send; fn serve_delete_objects( &self ) -> impl Future<Output = Result<Self::DeleteObjectsInvocationStream>> + Send; fn invoke_get_container_data( &self, id: ObjectId, start: u64, end: u64 ) -> impl Future<Output = Result<(Result<IncomingInputStream, String>, Self::Transmission)>> + Send; fn serve_get_container_data( &self ) -> impl Future<Output = Result<Self::GetContainerDataInvocationStream>> + Send; fn invoke_get_object_info( &self, id: ObjectId ) -> impl Future<Output = Result<(Result<ObjectMetadata, String>, Self::Transmission)>> + Send; fn serve_get_object_info( &self ) -> impl Future<Output = Result<Self::GetObjectInfoInvocationStream>> + Send; fn invoke_has_object( &self, id: ObjectId ) -> impl Future<Output = Result<(Result<bool, String>, Self::Transmission)>> + Send; fn serve_has_object( &self ) -> impl Future<Output = Result<Self::HasObjectInvocationStream>> + Send; fn invoke_move_object( &self, src: ObjectId, dest: ObjectId ) -> impl Future<Output = Result<(Result<(), String>, Self::Transmission)>> + Send; fn serve_move_object( &self ) -> impl Future<Output = Result<Self::MoveObjectInvocationStream>> + Send; fn invoke_write_container_data( &self, id: ObjectId, data: impl Stream<Item = Bytes> + Send + 'static ) -> impl Future<Output = Result<(Result<(), String>, Self::Transmission)>> + Send; fn serve_write_container_data( &self ) -> impl Future<Output = Result<Self::WriteContainerDataInvocationStream>> + Send;
}

Required Associated Types§

Required Methods§

source

fn invoke_clear_container( &self, name: String ) -> impl Future<Output = Result<(Result<(), String>, Self::Transmission)>> + Send

source

fn serve_clear_container( &self ) -> impl Future<Output = Result<Self::ClearContainerInvocationStream>> + Send

source

fn invoke_container_exists( &self, name: String ) -> impl Future<Output = Result<(Result<bool, String>, Self::Transmission)>> + Send

source

fn serve_container_exists( &self ) -> impl Future<Output = Result<Self::ContainerExistsInvocationStream>> + Send

source

fn invoke_create_container( &self, name: String ) -> impl Future<Output = Result<(Result<(), String>, Self::Transmission)>> + Send

source

fn serve_create_container( &self ) -> impl Future<Output = Result<Self::CreateContainerInvocationStream>> + Send

source

fn invoke_delete_container( &self, name: String ) -> impl Future<Output = Result<(Result<(), String>, Self::Transmission)>> + Send

source

fn serve_delete_container( &self ) -> impl Future<Output = Result<Self::DeleteContainerInvocationStream>> + Send

source

fn invoke_get_container_info( &self, name: String ) -> impl Future<Output = Result<(Result<ContainerMetadata, String>, Self::Transmission)>> + Send

source

fn serve_get_container_info( &self ) -> impl Future<Output = Result<Self::GetContainerInfoInvocationStream>> + Send

source

fn invoke_list_container_objects( &self, name: String, limit: Option<u64>, offset: Option<u64> ) -> impl Future<Output = Result<(Result<Box<dyn Stream<Item = Result<Vec<String>>> + Send + Sync + Unpin>, String>, Self::Transmission)>> + Send

source

fn serve_list_container_objects( &self ) -> impl Future<Output = Result<Self::ListContainerObjectsInvocationStream>> + Send

source

fn invoke_copy_object( &self, src: ObjectId, dest: ObjectId ) -> impl Future<Output = Result<(Result<(), String>, Self::Transmission)>> + Send

source

fn serve_copy_object( &self ) -> impl Future<Output = Result<Self::CopyObjectInvocationStream>> + Send

source

fn invoke_delete_object( &self, id: ObjectId ) -> impl Future<Output = Result<(Result<(), String>, Self::Transmission)>> + Send

source

fn serve_delete_object( &self ) -> impl Future<Output = Result<Self::DeleteObjectInvocationStream>> + Send

source

fn invoke_delete_objects( &self, container: String, objects: Vec<String> ) -> impl Future<Output = Result<(Result<(), String>, Self::Transmission)>> + Send

source

fn serve_delete_objects( &self ) -> impl Future<Output = Result<Self::DeleteObjectsInvocationStream>> + Send

source

fn invoke_get_container_data( &self, id: ObjectId, start: u64, end: u64 ) -> impl Future<Output = Result<(Result<IncomingInputStream, String>, Self::Transmission)>> + Send

source

fn serve_get_container_data( &self ) -> impl Future<Output = Result<Self::GetContainerDataInvocationStream>> + Send

source

fn invoke_get_object_info( &self, id: ObjectId ) -> impl Future<Output = Result<(Result<ObjectMetadata, String>, Self::Transmission)>> + Send

source

fn serve_get_object_info( &self ) -> impl Future<Output = Result<Self::GetObjectInfoInvocationStream>> + Send

source

fn invoke_has_object( &self, id: ObjectId ) -> impl Future<Output = Result<(Result<bool, String>, Self::Transmission)>> + Send

source

fn serve_has_object( &self ) -> impl Future<Output = Result<Self::HasObjectInvocationStream>> + Send

source

fn invoke_move_object( &self, src: ObjectId, dest: ObjectId ) -> impl Future<Output = Result<(Result<(), String>, Self::Transmission)>> + Send

source

fn serve_move_object( &self ) -> impl Future<Output = Result<Self::MoveObjectInvocationStream>> + Send

source

fn invoke_write_container_data( &self, id: ObjectId, data: impl Stream<Item = Bytes> + Send + 'static ) -> impl Future<Output = Result<(Result<(), String>, Self::Transmission)>> + Send

source

fn serve_write_container_data( &self ) -> impl Future<Output = Result<Self::WriteContainerDataInvocationStream>> + Send

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<T: Client> Blobstore for T

§

type ClearContainerInvocationStream = Pin<Box<dyn Stream<Item = Result<AcceptedInvocation<<T as Client>::Context, String, <T as Client>::Subject, <<T as Client>::Acceptor as Acceptor>::Transmitter>, Error>> + Send>>

§

type ContainerExistsInvocationStream = Pin<Box<dyn Stream<Item = Result<AcceptedInvocation<<T as Client>::Context, String, <T as Client>::Subject, <<T as Client>::Acceptor as Acceptor>::Transmitter>, Error>> + Send>>

§

type CreateContainerInvocationStream = Pin<Box<dyn Stream<Item = Result<AcceptedInvocation<<T as Client>::Context, String, <T as Client>::Subject, <<T as Client>::Acceptor as Acceptor>::Transmitter>, Error>> + Send>>

§

type DeleteContainerInvocationStream = Pin<Box<dyn Stream<Item = Result<AcceptedInvocation<<T as Client>::Context, String, <T as Client>::Subject, <<T as Client>::Acceptor as Acceptor>::Transmitter>, Error>> + Send>>

§

type GetContainerInfoInvocationStream = Pin<Box<dyn Stream<Item = Result<AcceptedInvocation<<T as Client>::Context, String, <T as Client>::Subject, <<T as Client>::Acceptor as Acceptor>::Transmitter>, Error>> + Send>>

§

type ListContainerObjectsInvocationStream = Pin<Box<dyn Stream<Item = Result<AcceptedInvocation<<T as Client>::Context, (String, Option<u64>, Option<u64>), <T as Client>::Subject, <<T as Client>::Acceptor as Acceptor>::Transmitter>, Error>> + Send>>

§

type CopyObjectInvocationStream = Pin<Box<dyn Stream<Item = Result<AcceptedInvocation<<T as Client>::Context, (ObjectId, ObjectId), <T as Client>::Subject, <<T as Client>::Acceptor as Acceptor>::Transmitter>, Error>> + Send>>

§

type DeleteObjectInvocationStream = Pin<Box<dyn Stream<Item = Result<AcceptedInvocation<<T as Client>::Context, ObjectId, <T as Client>::Subject, <<T as Client>::Acceptor as Acceptor>::Transmitter>, Error>> + Send>>

§

type DeleteObjectsInvocationStream = Pin<Box<dyn Stream<Item = Result<AcceptedInvocation<<T as Client>::Context, (String, Vec<String>), <T as Client>::Subject, <<T as Client>::Acceptor as Acceptor>::Transmitter>, Error>> + Send>>

§

type GetContainerDataInvocationStream = Pin<Box<dyn Stream<Item = Result<AcceptedInvocation<<T as Client>::Context, (ObjectId, u64, u64), <T as Client>::Subject, <<T as Client>::Acceptor as Acceptor>::Transmitter>, Error>> + Send>>

§

type GetObjectInfoInvocationStream = Pin<Box<dyn Stream<Item = Result<AcceptedInvocation<<T as Client>::Context, ObjectId, <T as Client>::Subject, <<T as Client>::Acceptor as Acceptor>::Transmitter>, Error>> + Send>>

§

type HasObjectInvocationStream = Pin<Box<dyn Stream<Item = Result<AcceptedInvocation<<T as Client>::Context, ObjectId, <T as Client>::Subject, <<T as Client>::Acceptor as Acceptor>::Transmitter>, Error>> + Send>>

§

type MoveObjectInvocationStream = Pin<Box<dyn Stream<Item = Result<AcceptedInvocation<<T as Client>::Context, (ObjectId, ObjectId), <T as Client>::Subject, <<T as Client>::Acceptor as Acceptor>::Transmitter>, Error>> + Send>>

§

type WriteContainerDataInvocationStream = Pin<Box<dyn Stream<Item = Result<AcceptedInvocation<<T as Client>::Context, (ObjectId, Box<dyn Stream<Item = Result<Vec<u8>, Error>> + Send + Unpin + Sync>), <T as Client>::Subject, <<T as Client>::Acceptor as Acceptor>::Transmitter>, Error>> + Send>>