pub struct ServerConnection<Transport, State, Peer, Identity = TrustIdentity, Handler = IdentityServerHandler> { /* private fields */ }Expand description
An operational server-role connection with all per-connection ownership.
Implementations§
Source§impl<Transport, State, Peer, Identity, Handler> ServerConnection<Transport, State, Peer, Identity, Handler>
impl<Transport, State, Peer, Identity, Handler> ServerConnection<Transport, State, Peer, Identity, Handler>
Sourcepub const fn context(&self) -> &ServerConnectionContext<Peer, Identity>
pub const fn context(&self) -> &ServerConnectionContext<Peer, Identity>
Returns immutable connection facts.
Sourcepub const fn startup(&self) -> &StartupMessage
pub const fn startup(&self) -> &StartupMessage
Returns the accepted startup parameters.
Sourcepub async fn receive_wire(&mut self) -> Result<FrontendMessage>where
Transport: AsyncRead + AsyncWrite + Unpin,
Handler: ServerMiddleware<State, ServerConnectionContext<Peer, Identity>>,
pub async fn receive_wire(&mut self) -> Result<FrontendMessage>where
Transport: AsyncRead + AsyncWrite + Unpin,
Handler: ServerMiddleware<State, ServerConnectionContext<Peer, Identity>>,
Receives one operational frontend wire message without advancing the typed session projection.
This is the inspection boundary: application policy may inspect or rewrite the owned message before a later facade operation projects it.
§Errors
Returns a transport, decoding, or configured frame-limit error.
Sourcepub async fn send_wire(&mut self, message: BackendMessage) -> Result<()>where
Transport: AsyncRead + AsyncWrite + Unpin,
Handler: ServerMiddleware<State, ServerConnectionContext<Peer, Identity>>,
pub async fn send_wire(&mut self, message: BackendMessage) -> Result<()>where
Transport: AsyncRead + AsyncWrite + Unpin,
Handler: ServerMiddleware<State, ServerConnectionContext<Peer, Identity>>,
Sends one operational backend message after middleware interception.
The replacement returned by middleware is the value encoded on the wire.
§Errors
Returns an encoding, configured frame-limit, or transport error.
Sourcepub fn teardown(
self,
) -> (AcceptedServerTransport<Transport>, State, Handler, ServerConnectionContext<Peer, Identity>)
pub fn teardown( self, ) -> (AcceptedServerTransport<Transport>, State, Handler, ServerConnectionContext<Peer, Identity>)
Deliberately ends typed ownership and recovers every connection part.
Trait Implementations§
Auto Trait Implementations§
impl<Transport, State, Peer, Identity = TrustIdentity, Handler = IdentityServerHandler> !Freeze for ServerConnection<Transport, State, Peer, Identity, Handler>
impl<Transport, State, Peer, Identity = TrustIdentity, Handler = IdentityServerHandler> !RefUnwindSafe for ServerConnection<Transport, State, Peer, Identity, Handler>
impl<Transport, State, Peer, Identity = TrustIdentity, Handler = IdentityServerHandler> !UnwindSafe for ServerConnection<Transport, State, Peer, Identity, Handler>
impl<Transport, State, Peer, Identity, Handler> Send for ServerConnection<Transport, State, Peer, Identity, Handler>
impl<Transport, State, Peer, Identity, Handler> Sync for ServerConnection<Transport, State, Peer, Identity, Handler>
impl<Transport, State, Peer, Identity, Handler> Unpin for ServerConnection<Transport, State, Peer, Identity, Handler>
impl<Transport, State, Peer, Identity, Handler> UnsafeUnpin for ServerConnection<Transport, State, Peer, Identity, Handler>
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