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> !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 Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere 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 Twhere 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<T> for T

§

type Output = T

Should always be Self
source§

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

§

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 Twhere U: TryFrom<T>,

§

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 Twhere V: MultiLane<T>,

source§

fn vzip(self) -> V