pub struct CloudHomeFactory { /* private fields */ }Implementations§
Source§impl CloudHomeFactory
impl CloudHomeFactory
pub fn new(oauth_clients: OAuthClients) -> Self
pub async fn execute<T, E, F>( &self, operation: impl FnOnce() -> F + Send + 'static, ) -> Result<Result<T, E>, CloudRuntimeError>
pub async fn open_s3( &self, bucket: String, region: String, endpoint: Option<String>, access_key: String, secret_key: String, key_prefix: Option<String>, exact_upload_verification: ExactUploadVerification, clock: ClockRef, ) -> Result<S3CloudHome, CloudHomeError>
pub fn oauth_config_for( &self, provider: CloudProvider, ) -> Result<OAuthConfig, OAuthClientCredsError>
pub async fn prepare_oauth_cloud_home( &self, cloud_home: CloudHomeConfig, store_name: &str, cancel: Receiver<bool>, clock: &dyn Clock, ) -> Result<PreparedOAuthCloudHome, SetupError>
Sourcepub async fn create(
&self,
config: &Config,
clock: ClockRef,
cloudkit_ops: Option<Arc<dyn CloudKitOps>>,
credential_custody: Arc<dyn CloudHomeCredentialCustody>,
) -> Result<Box<dyn ExactCloudHome>, CloudHomeError>
pub async fn create( &self, config: &Config, clock: ClockRef, cloudkit_ops: Option<Arc<dyn CloudKitOps>>, credential_custody: Arc<dyn CloudHomeCredentialCustody>, ) -> Result<Box<dyn ExactCloudHome>, CloudHomeError>
Open the configured provider’s home, counting every operation asked of it.
Every home a running installation works through is built here, so wrapping here is what makes each stage of a live run able to say how many provider operations it cost. The homes tests construct directly are not wrapped and count nothing, and the runs over them report their times alone.
Trait Implementations§
Source§impl Clone for CloudHomeFactory
impl Clone for CloudHomeFactory
Source§fn clone(&self) -> CloudHomeFactory
fn clone(&self) -> CloudHomeFactory
Returns a duplicate 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 moreAuto Trait Implementations§
impl Freeze for CloudHomeFactory
impl !RefUnwindSafe for CloudHomeFactory
impl Send for CloudHomeFactory
impl Sync for CloudHomeFactory
impl Unpin for CloudHomeFactory
impl UnsafeUnpin for CloudHomeFactory
impl !UnwindSafe for CloudHomeFactory
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,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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 moreCreates a shared type from an unshared type.