tungstenite::handshake::server

Struct ServerHandshake

source
pub struct ServerHandshake<S, C> {
    callback: Option<C>,
    config: Option<WebSocketConfig>,
    error_response: Option<ErrorResponse>,
    _marker: PhantomData<S>,
}
Expand description

Server handshake role.

Fields§

§callback: Option<C>

Callback which is called whenever the server read the request from the client and is ready to reply to it. The callback returns an optional headers which will be added to the reply which the server sends to the user.

§config: Option<WebSocketConfig>

WebSocket configuration.

§error_response: Option<ErrorResponse>

Error code/flag. If set, an error will be returned after sending response to the client.

§_marker: PhantomData<S>

Internal stream type.

Implementations§

source§

impl<S: Read + Write, C: Callback> ServerHandshake<S, C>

source

pub fn start( stream: S, callback: C, config: Option<WebSocketConfig>, ) -> MidHandshake<Self>

Start server handshake. callback specifies a custom callback which the user can pass to the handshake, this callback will be called when the a websocket client connects to the server, you can specify the callback if you want to add additional header to the client upon join based on the incoming headers.

Trait Implementations§

source§

impl<S: Debug, C: Debug> Debug for ServerHandshake<S, C>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<S: Read + Write, C: Callback> HandshakeRole for ServerHandshake<S, C>

Auto Trait Implementations§

§

impl<S, C> Freeze for ServerHandshake<S, C>
where C: Freeze,

§

impl<S, C> !RefUnwindSafe for ServerHandshake<S, C>

§

impl<S, C> Send for ServerHandshake<S, C>
where C: Send, S: Send,

§

impl<S, C> Sync for ServerHandshake<S, C>
where C: Sync, S: Sync,

§

impl<S, C> Unpin for ServerHandshake<S, C>
where C: Unpin, S: Unpin,

§

impl<S, C> !UnwindSafe for ServerHandshake<S, C>

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> Same for T

source§

type Output = T

Should always be Self
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

source§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

source§

fn vzip(self) -> V

source§

impl<T> ErasedDestructor for T
where T: 'static,

source§

impl<T> MaybeSendSync for T