pub struct FilesystemWireService<A, O> { /* private fields */ }Expand description
One SDK-owned protocol adapter over the canonical filesystem engine.
Deployments wrap this adapter with authentication, quota, credential issuance, and transport policy. Filesystem semantics stay here.
Implementations§
Source§impl<A, O> FilesystemWireService<A, O>
impl<A, O> FilesystemWireService<A, O>
Sourcepub const fn filesystem(&self) -> &Fs<A, O>
pub const fn filesystem(&self) -> &Fs<A, O>
Borrows the exact engine served by this adapter.
Sourcepub fn with_credential_issuer(
self,
issuer: Arc<dyn FilesystemCredentialIssuer>,
) -> Self
pub fn with_credential_issuer( self, issuer: Arc<dyn FilesystemCredentialIssuer>, ) -> Self
Installs the authenticated deployment’s scoped credential issuer.
Sourcepub fn with_source_provider(
self,
provider: Arc<dyn FilesystemSourceProvider>,
) -> Self
pub fn with_source_provider( self, provider: Arc<dyn FilesystemSourceProvider>, ) -> Self
Installs the deployment’s authenticated hosted-source provider.
Trait Implementations§
Source§impl<A, O> FilesystemService for FilesystemWireService<A, O>
impl<A, O> FilesystemService for FilesystemWireService<A, O>
Source§type ExportStream = Pin<Box<dyn Stream<Item = Result<ExportChunk, Status>> + Send>>
type ExportStream = Pin<Box<dyn Stream<Item = Result<ExportChunk, Status>> + Send>>
Server streaming response type for the Export method.
fn handshake<'life0, 'async_trait>(
&'life0 self,
request: Request<HandshakeRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<HandshakeResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn create_workspace<'life0, 'async_trait>(
&'life0 self,
request: Request<CreateWorkspaceRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<WorkspaceResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn open_workspace<'life0, 'async_trait>(
&'life0 self,
request: Request<OpenWorkspaceRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<WorkspaceResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn delete_workspace<'life0, 'async_trait>(
&'life0 self,
request: Request<DeleteWorkspaceRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<MutationResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_head<'life0, 'async_trait>(
&'life0 self,
request: Request<GetHeadRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<GenerationResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_generation<'life0, 'async_trait>(
&'life0 self,
request: Request<GetGenerationRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<GenerationResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn read<'life0, 'async_trait>(
&'life0 self,
request: Request<ReadRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<ReadResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn stat<'life0, 'async_trait>(
&'life0 self,
request: Request<StatRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<StatResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn list_directory<'life0, 'async_trait>(
&'life0 self,
request: Request<ListDirectoryRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<ListDirectoryResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn read_link<'life0, 'async_trait>(
&'life0 self,
request: Request<ReadLinkRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<ReadResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn plan_extents<'life0, 'async_trait>(
&'life0 self,
request: Request<PlanExtentsRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<PlanExtentsResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn apply_transaction<'life0, 'async_trait>(
&'life0 self,
request: Request<ApplyTransactionRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<MutationResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn rebase_transaction<'life0, 'async_trait>(
&'life0 self,
request: Request<RebaseTransactionRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<RebaseTransactionResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn fork_workspace<'life0, 'async_trait>(
&'life0 self,
request: Request<ForkWorkspaceRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<WorkspaceResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn diff<'life0, 'async_trait>(
&'life0 self,
request: Request<DiffRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<DiffResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn rebase<'life0, 'async_trait>(
&'life0 self,
request: Request<RebaseRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<RebaseResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn plan_join<'life0, 'async_trait>(
&'life0 self,
request: Request<PlanJoinRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<JoinPlan>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn apply_join<'life0, 'async_trait>(
&'life0 self,
request: Request<ApplyJoinRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<JoinResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn checkpoint<'life0, 'async_trait>(
&'life0 self,
request: Request<RetainGenerationRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<RetainGenerationResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn pin<'life0, 'async_trait>(
&'life0 self,
request: Request<RetainGenerationRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<RetainGenerationResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn export<'life0, 'async_trait>(
&'life0 self,
request: Request<ExportRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<Self::ExportStream>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn import<'life0, 'async_trait>(
&'life0 self,
request: Request<Streaming<ImportChunk>>,
) -> Pin<Box<dyn Future<Output = Result<Response<ImportResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn issue_mount_credential<'life0, 'async_trait>(
&'life0 self,
request: Request<CredentialRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<CredentialResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn issue_s3_credential<'life0, 'async_trait>(
&'life0 self,
request: Request<CredentialRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<CredentialResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_source_state<'life0, 'async_trait>(
&'life0 self,
request: Request<SourceStateRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<SourceResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn reconcile_source<'life0, 'async_trait>(
&'life0 self,
request: Request<SourceOperationRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<SourceResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn rescan_source<'life0, 'async_trait>(
&'life0 self,
request: Request<SourceOperationRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<SourceResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn seal_source<'life0, 'async_trait>(
&'life0 self,
request: Request<SourceOperationRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<SourceResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn observe<'life0, 'async_trait>(
&'life0 self,
request: Request<ObserveRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<ObserveResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn cancel<'life0, 'async_trait>(
&'life0 self,
request: Request<CancelRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<CancelResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Auto Trait Implementations§
impl<A, O> !RefUnwindSafe for FilesystemWireService<A, O>
impl<A, O> !UnwindSafe for FilesystemWireService<A, O>
impl<A, O> Freeze for FilesystemWireService<A, O>
impl<A, O> Send for FilesystemWireService<A, O>
impl<A, O> Sync for FilesystemWireService<A, O>
impl<A, O> Unpin for FilesystemWireService<A, O>
impl<A, O> UnsafeUnpin for FilesystemWireService<A, O>where
Fs<A, O>: UnsafeUnpin,
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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> 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