[−][src]Struct hyper::server::conn::Connection
A future binding a connection with a Service.
Polling this future will drive HTTP forward.
Methods
impl<I, B, S, E> Connection<I, S, E> where
S: Service<ReqBody = Body, ResBody = B>,
S::Error: Into<Box<dyn Error + Send + Sync>>,
I: AsyncRead + AsyncWrite,
B: Payload + 'static,
E: H2Exec<S::Future, B>,
[src][−]
S: Service<ReqBody = Body, ResBody = B>,
S::Error: Into<Box<dyn Error + Send + Sync>>,
I: AsyncRead + AsyncWrite,
B: Payload + 'static,
E: H2Exec<S::Future, B>,
pub fn graceful_shutdown(&mut self)
[src][−]
Start a graceful shutdown process for this connection.
This Connection
should continue to be polled until shutdown
can finish.
pub fn into_parts(self) -> Parts<I, S>
[src][−]
Return the inner IO object, and additional information.
If the IO object has been "rewound" the io will not contain those bytes rewound.
This should only be called after poll_without_shutdown
signals
that the connection is "done". Otherwise, it may not have finished
flushing all necessary HTTP bytes.
Panics
This method will panic if this connection is using an h2 protocol.
pub fn try_into_parts(self) -> Option<Parts<I, S>>
[src][−]
Return the inner IO object, and additional information, if available.
This method will return a None
if this connection is using an h2 protocol.
pub fn poll_without_shutdown(&mut self) -> Poll<(), Error>
[src][−]
Poll the connection for completion, but without calling shutdown
on the underlying IO.
This is useful to allow running a connection while doing an HTTP
upgrade. Once the upgrade is completed, the connection would be "done",
but it is not desired to actally shutdown the IO object. Instead you
would take it back using into_parts
.
pub fn with_upgrades(self) -> UpgradeableConnection<I, S, E> where
I: Send,
[src][−]
I: Send,
Enable this connection to support higher-level HTTP upgrades.
See the upgrade
module for more.
Trait Implementations
impl<I, S> Debug for Connection<I, S> where
S: Service,
[src][+]
S: Service,
impl<I, B, S, E> Future for Connection<I, S, E> where
S: Service<ReqBody = Body, ResBody = B> + 'static,
S::Error: Into<Box<dyn Error + Send + Sync>>,
I: AsyncRead + AsyncWrite + 'static,
B: Payload + 'static,
E: H2Exec<S::Future, B>,
[src][+]
S: Service<ReqBody = Body, ResBody = B> + 'static,
S::Error: Into<Box<dyn Error + Send + Sync>>,
I: AsyncRead + AsyncWrite + 'static,
B: Payload + 'static,
E: H2Exec<S::Future, B>,
Auto Trait Implementations
impl<T, S, E> Send for Connection<T, S, E> where
E: Send,
S: Send,
T: Send,
<<S as Service>::ResBody as Payload>::Data: Buf + Send,
<S as Service>::Future: Send,
<S as Service>::ResBody: Payload + Send,
E: Send,
S: Send,
T: Send,
<<S as Service>::ResBody as Payload>::Data: Buf + Send,
<S as Service>::Future: Send,
<S as Service>::ResBody: Payload + Send,
impl<T, S, E> Sync for Connection<T, S, E> where
E: Sync,
S: Sync,
T: Sync,
<<S as Service>::ResBody as Payload>::Data: Buf + Send + Sync,
<S as Service>::Future: Sync,
<S as Service>::ResBody: Payload + Sync,
E: Sync,
S: Sync,
T: Sync,
<<S as Service>::ResBody as Payload>::Data: Buf + Send + Sync,
<S as Service>::Future: Sync,
<S as Service>::ResBody: Payload + Sync,
Blanket Implementations
impl<T> From for T
[src][−]
impl<T, U> Into for T where
U: From<T>,
[src][−]
U: From<T>,
impl<T, U> TryFrom for T where
T: From<U>,
[src][−]
T: From<U>,
type Error = !
try_from
)The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src][−]
impl<T> Borrow for T where
T: ?Sized,
[src][−]
T: ?Sized,
impl<T> BorrowMut for T where
T: ?Sized,
[src][−]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src][−]
impl<T, U> TryInto for T where
U: TryFrom<T>,
[src][−]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
try_from
)The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src][−]
impl<T> Any for T where
T: 'static + ?Sized,
[src][−]
T: 'static + ?Sized,
fn get_type_id(&self) -> TypeId
[src][−]
impl<F> IntoFuture for F where
F: Future,
[src][−]
F: Future,
type Future = F
The future that this type can be converted into.
type Item = <F as Future>::Item
The item that the future may resolve with.
type Error = <F as Future>::Error
The error that the future may resolve with.
fn into_future(self) -> F
[src][−]
impl<T> FutureExt for T where
T: Future + ?Sized,
[src][−]
T: Future + ?Sized,
fn timeout(self, timeout: Duration) -> Timeout<Self>
[src][−]
Creates a new future which allows self
until timeout
. Read more