[−][src]Struct quiche::Connection
A QUIC connection.
Methods
impl Connection
[src]
pub fn recv(&mut self, buf: &mut [u8]) -> Result<usize>
[src]
Processes QUIC packets received from the peer.
On success the number of bytes processed from the input buffer is
returned, or Done
.
Coalesced packets will be processed as necessary.
Note that the contents of the input buffer buf
might be modified by
this function due to, for example, in-place decryption.
pub fn send(&mut self, out: &mut [u8]) -> Result<usize>
[src]
Writes a single QUIC packet to be sent to the peer.
On success the number of bytes processed from the input buffer is
returned, or Done
.
pub fn stream_recv(
&mut self,
stream_id: u64,
out: &mut [u8]
) -> Result<(usize, bool)>
[src]
&mut self,
stream_id: u64,
out: &mut [u8]
) -> Result<(usize, bool)>
Reads contiguous data from a stream into the provided slice.
The slice must be sized by the caller and will be populated up to its capacity.
On success the amount of bytes read and a flag indicating the fin state
is returned as a tuple, or Done
if there is no data to read.
pub fn stream_send(
&mut self,
stream_id: u64,
buf: &[u8],
fin: bool
) -> Result<usize>
[src]
&mut self,
stream_id: u64,
buf: &[u8],
fin: bool
) -> Result<usize>
Writes data to a stream.
On success the number of bytes written is returned.
ⓘImportant traits for Readable<'a>pub fn readable(&mut self) -> Readable
[src]
Creates an iterator over streams that have outstanding data to read.
pub fn timeout(&self) -> Option<Duration>
[src]
Returns the amount of time until the next timeout event.
Once the given duration has elapsed, the on_timeout()
method should
be called. A timeout of None
means that the timer should be disarmed.
pub fn on_timeout(&mut self)
[src]
Processes a timeout event.
If no timeout has occurred it does nothing.
pub fn close(&mut self, app: bool, err: u16, reason: &[u8]) -> Result<()>
[src]
Closes the connection with the given error and reason.
The app
parameter specifies whether an application close should be
sent to the peer. Otherwise a normal connection close is sent.
Returns Done
if the connection had already been closed.
Note that the connection will not be closed immediately. An application
should continue calling recv()
, send()
and timeout()
as
normal, until the is_closed()
method returns true
.
pub fn trace_id(&self) -> &str
[src]
Returns a string uniquely representing the connection.
This can be used for logging purposes to differentiate between multiple connections.
pub fn application_proto(&self) -> &[u8]
[src]
Returns the negotiated ALPN protocol.
If no protocol has been negotiated, the returned value is empty.
pub fn is_established(&self) -> bool
[src]
Returns true if the connection handshake is complete.
pub fn is_resumed(&self) -> bool
[src]
Returns true if the connection is resumed.
pub fn is_closed(&self) -> bool
[src]
Returns true if the connection is closed.
If this returns true, the connection object can be dropped.
pub fn stats(&self) -> Stats
[src]
Collects and returns statistics about the connection.
Auto Trait Implementations
impl !Send for Connection
impl !Sync for Connection
Blanket Implementations
impl<T, U> Into for T where
U: From<T>,
[src]
U: From<T>,
impl<T> From for T
[src]
impl<T, U> TryFrom for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
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
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,