pub struct IntermediaryBuilder<Server = (), Client = (), Resolver = (), Route = AllowAuthenticatedRoute, Policy = NoPipeline, Boundary = IdentityIntermediaryMiddleware, Cancellation = RejectCancellation> { /* private fields */ }Expand description
Progressive builder for Intermediary.
Implementations§
Source§impl<S, C, R, A, P, B, K> IntermediaryBuilder<S, C, R, A, P, B, K>
impl<S, C, R, A, P, B, K> IntermediaryBuilder<S, C, R, A, P, B, K>
Sourcepub fn server<Next>(
self,
server: Next,
) -> IntermediaryBuilder<Next, C, R, A, P, B, K>
pub fn server<Next>( self, server: Next, ) -> IntermediaryBuilder<Next, C, R, A, P, B, K>
Supplies the complete client-facing role configuration.
Sourcepub fn client<Next>(
self,
client: Next,
) -> IntermediaryBuilder<S, Next, R, A, P, B, K>
pub fn client<Next>( self, client: Next, ) -> IntermediaryBuilder<S, Next, R, A, P, B, K>
Supplies the complete PostgreSQL-facing role configuration.
Sourcepub fn startup_resolver<Next>(
self,
resolver: Next,
) -> IntermediaryBuilder<S, C, Next, A, P, B, K>
pub fn startup_resolver<Next>( self, resolver: Next, ) -> IntermediaryBuilder<S, C, Next, A, P, B, K>
Supplies the required asynchronous startup resolver.
Sourcepub fn authenticated_route<Next>(
self,
route: Next,
) -> IntermediaryBuilder<S, C, R, Next, P, B, K>
pub fn authenticated_route<Next>( self, route: Next, ) -> IntermediaryBuilder<S, C, R, Next, P, B, K>
Supplies optional post-authentication routing policy.
Sourcepub fn pipeline<Next: PipelinePolicy>(
self,
pipeline: Next,
) -> IntermediaryBuilder<S, C, R, A, Next, B, K>
pub fn pipeline<Next: PipelinePolicy>( self, pipeline: Next, ) -> IntermediaryBuilder<S, C, R, A, Next, B, K>
Selects lock-step or bounded request pipelining.
Sourcepub fn middleware<Next>(
self,
boundary: Next,
) -> IntermediaryBuilder<S, C, R, A, P, Next, K>
pub fn middleware<Next>( self, boundary: Next, ) -> IntermediaryBuilder<S, C, R, A, P, Next, K>
Supplies middleware for the forwarding boundary.
Sourcepub fn cancellation(self, cancellation: CancellationPolicy) -> Self
pub fn cancellation(self, cancellation: CancellationPolicy) -> Self
Selects an explicit cancellation posture.
Sourcepub fn establishment_failure(self, policy: EstablishmentFailurePolicy) -> Self
pub fn establishment_failure(self, policy: EstablishmentFailurePolicy) -> Self
Selects conservative close or one fixed safe diagnostic on establishment failure.
Sourcepub fn cancellation_registry<Next>(
self,
registry: Next,
) -> IntermediaryBuilder<S, C, R, A, P, B, Next>
pub fn cancellation_registry<Next>( self, registry: Next, ) -> IntermediaryBuilder<S, C, R, A, P, B, Next>
Enables forwarding through an application-owned concurrent registry.
Sourcepub fn build(
self,
) -> Result<Intermediary<S, C, R, A, P, B, K>, IntermediaryBuildError>
pub fn build( self, ) -> Result<Intermediary<S, C, R, A, P, B, K>, IntermediaryBuildError>
Validates composition and creates a reusable component.
§Errors
Returns the first missing mandatory role, resolver, or cancellation configuration.
Trait Implementations§
Auto Trait Implementations§
impl<Server, Client, Resolver, Route, Policy, Boundary, Cancellation> Freeze for IntermediaryBuilder<Server, Client, Resolver, Route, Policy, Boundary, Cancellation>
impl<Server, Client, Resolver, Route, Policy, Boundary, Cancellation> RefUnwindSafe for IntermediaryBuilder<Server, Client, Resolver, Route, Policy, Boundary, Cancellation>where
Route: RefUnwindSafe,
Policy: RefUnwindSafe,
Boundary: RefUnwindSafe,
Cancellation: RefUnwindSafe,
Server: RefUnwindSafe,
Client: RefUnwindSafe,
Resolver: RefUnwindSafe,
impl<Server, Client, Resolver, Route, Policy, Boundary, Cancellation> Send for IntermediaryBuilder<Server, Client, Resolver, Route, Policy, Boundary, Cancellation>
impl<Server, Client, Resolver, Route, Policy, Boundary, Cancellation> Sync for IntermediaryBuilder<Server, Client, Resolver, Route, Policy, Boundary, Cancellation>
impl<Server, Client, Resolver, Route, Policy, Boundary, Cancellation> Unpin for IntermediaryBuilder<Server, Client, Resolver, Route, Policy, Boundary, Cancellation>
impl<Server, Client, Resolver, Route, Policy, Boundary, Cancellation> UnsafeUnpin for IntermediaryBuilder<Server, Client, Resolver, Route, Policy, Boundary, Cancellation>where
Route: UnsafeUnpin,
Policy: UnsafeUnpin,
Boundary: UnsafeUnpin,
Cancellation: UnsafeUnpin,
Server: UnsafeUnpin,
Client: UnsafeUnpin,
Resolver: UnsafeUnpin,
impl<Server, Client, Resolver, Route, Policy, Boundary, Cancellation> UnwindSafe for IntermediaryBuilder<Server, Client, Resolver, Route, Policy, Boundary, Cancellation>where
Route: UnwindSafe,
Policy: UnwindSafe,
Boundary: UnwindSafe,
Cancellation: UnwindSafe,
Server: UnwindSafe,
Client: UnwindSafe,
Resolver: UnwindSafe,
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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