pub struct NeedsInput { /* private fields */ }Expand description
More data needs to be received to make progress.
Provide the data to Self::process().
Implementations§
Source§impl NeedsInput
impl NeedsInput
Sourcepub fn process(
self,
input: &mut dyn TlsInputBuffer,
output: &mut Vec<QuicEvent>,
) -> Result<ServerHandshake, Error>
pub fn process( self, input: &mut dyn TlsInputBuffer, output: &mut Vec<QuicEvent>, ) -> Result<ServerHandshake, Error>
Progress the handshake by receiving further unencrypted TLS handshake data.
The input should be ordered QUIC CRYPTO stream data for one encryption level.
Handshake data obtained from separate encryption levels should be supplied in separate calls.
How much of the input buffer is consumed is recorded by a call to
TlsInputBuffer::discard(). Unconsumed data should be presented again on the next call.
An error from this function is fatal to the connection, as it consumes the NeedsInput
object.
On success, this returns:
- a
ServerHandshake::NeedsInputif more data is required. - a
ServerHandshake::Acceptedif a wholeClientHellohas been received, and a choice ofServerConfigis required to continue. - a
ServerHandshake::Completeif the handshake is complete.
output has any resulting handshake messages or key changes appended to it.
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for NeedsInput
impl !UnwindSafe for NeedsInput
impl Freeze for NeedsInput
impl Send for NeedsInput
impl Sync for NeedsInput
impl Unpin for NeedsInput
impl UnsafeUnpin for NeedsInput
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