# [−][src]Struct actix_web::ws::ClientHandshake

    pub struct ClientHandshake { /* fields omitted */ }

Future that implementes client websocket handshake process.

It resolves to a pair of `ClientReader` and `ClientWriter` that can be used for reading and writing websocket frames.

## Methods

###

`impl ClientHandshake`

[src]

####

`pub fn timeout(self, timeout: Duration) -> Self`

[src]

Set handshake timeout

Handshake timeout is a total time before handshake should be completed. Default value is 5 seconds.

####

`pub fn conn_timeout(self, timeout: Duration) -> Self`

[src]

Set connection timeout

Connection timeout includes resolving hostname and actual connection to the host. Default value is 1 second.

## Trait Implementations

###

`impl Future for ClientHandshake`

[src]

#### `type Item = (ClientReader, ClientWriter)`

The type of value that this future will resolved with if it is successful. Read more

#### `type Error = ClientError`

The type of error that this future will resolve with if it fails in a normal fashion. Read more

####

`fn poll(&mut self) -> Poll<Self::Item, Self::Error>`

[src]

Query this future to see if its value has become available, registering interest if it is not. Read more

####

`fn wait(self) -> Result<Self::Item, Self::Error>`

[src]

Block the current thread until this future is resolved. Read more

####

`fn map<F, U>(self, f: F) -> Map<Self, F> where F: FnOnce(Self::Item) -> U,`

[src]

Map this future's result to a different type, returning a new future of the resulting type. Read more

####

`fn map_err<F, E>(self, f: F) -> MapErr<Self, F> where F: FnOnce(Self::Error) -> E,`

[src]

Map this future's error to a different error, returning a new future. Read more

####

`fn from_err<E>(self) -> FromErr<Self, E> where E: From<Self::Error>,`

[src]

Map this future's error to any error implementing `From` for this future's `Error`, returning a new future. Read more

####

`fn then<F, B>(self, f: F) -> Then<Self, B, F> where B: IntoFuture, F: FnOnce(Result<Self::Item, Self::Error>) -> B,`

[src]

Chain on a computation for when a future finished, passing the result of the future to the provided closure `f`. Read more

####

`fn and_then<F, B>(self, f: F) -> AndThen<Self, B, F> where B: IntoFuture<Error = Self::Error>, F: FnOnce(Self::Item) -> B,`

[src]

Execute another future after this one has resolved successfully. Read more

####

`fn or_else<F, B>(self, f: F) -> OrElse<Self, B, F> where B: IntoFuture<Item = Self::Item>, F: FnOnce(Self::Error) -> B,`

[src]

Execute another future if this one resolves with an error. Read more

####

`fn select<B>(self, other: B) -> Select<Self, <B as IntoFuture>::Future> where B: IntoFuture<Item = Self::Item, Error = Self::Error>,`

[src]

Waits for either one of two futures to complete. Read more

####

`fn select2<B>(self, other: B) -> Select2<Self, <B as IntoFuture>::Future> where B: IntoFuture,`

[src]

Waits for either one of two differently-typed futures to complete. Read more

####

`fn join<B>(self, other: B) -> Join<Self, <B as IntoFuture>::Future> where B: IntoFuture<Error = Self::Error>,`

[src]

Joins the result of two futures, waiting for them both to complete. Read more

####

`fn join3<B, C>( self, b: B, c: C ) -> Join3<Self, <B as IntoFuture>::Future, <C as IntoFuture>::Future> where B: IntoFuture<Error = Self::Error>, C: IntoFuture<Error = Self::Error>,`

[src]

Same as `join`, but with more futures.

####

`fn join4<B, C, D>( self, b: B, c: C, d: D ) -> Join4<Self, <B as IntoFuture>::Future, <C as IntoFuture>::Future, <D as IntoFuture>::Future> where B: IntoFuture<Error = Self::Error>, C: IntoFuture<Error = Self::Error>, D: IntoFuture<Error = Self::Error>,`

[src]

Same as `join`, but with more futures.

####

`fn join5<B, C, D, E>( self, b: B, c: C, d: D, e: E ) -> Join5<Self, <B as IntoFuture>::Future, <C as IntoFuture>::Future, <D as IntoFuture>::Future, <E as IntoFuture>::Future> where B: IntoFuture<Error = Self::Error>, C: IntoFuture<Error = Self::Error>, D: IntoFuture<Error = Self::Error>, E: IntoFuture<Error = Self::Error>,`

[src]

Same as `join`, but with more futures.

####

`fn into_stream(self) -> IntoStream<Self>`

[src]

Convert this future into a single element stream. Read more

####

`fn flatten(self) -> Flatten<Self> where Self::Item: IntoFuture, <Self::Item as IntoFuture>::Error: From<Self::Error>,`

[src]

Flatten the execution of this future when the successful result of this future is itself another future. Read more

####

`fn flatten_stream(self) -> FlattenStream<Self> where Self::Item: Stream, <Self::Item as Stream>::Error == Self::Error,`

[src]

Flatten the execution of this future when the successful result of this future is a stream. Read more

####

`fn fuse(self) -> Fuse<Self>`

[src]

Fuse a future such that `poll` will never again be called once it has completed. Read more

####

`fn inspect<F>(self, f: F) -> Inspect<Self, F> where F: FnOnce(&Self::Item),`

[src]

Do something with the item of a future, passing it on. Read more

####

`fn catch_unwind(self) -> CatchUnwind<Self> where Self: UnwindSafe,`

[src]

Catches unwinding panics while polling the future. Read more

####

`fn shared(self) -> Shared<Self>`

[src]

Create a cloneable handle to this future where all handles will resolve to the same result. Read more

## Auto Trait Implementations

###

`impl !Send for ClientHandshake`

###

`impl !Sync for ClientHandshake`

## Blanket Implementations

###

`impl<T> From for T`

[src]

####

`fn from(t: T) -> T`

[src]

Performs the conversion.

###

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

[src]

####

`fn into(self) -> U`

[src]

Performs the conversion.

###

`impl<T, U> TryFrom for T where T: From<U>,`

[src]

#### `type Error = !`

🔬 This is a nightly-only experimental API. (`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]

🔬 This is a nightly-only experimental API. (`try_from`)

Performs the conversion.

###

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

[src]

####

`fn borrow(&self) -> &T`

[src]

Immutably borrows from an owned value. Read more

###

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

[src]

####

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

[src]

Mutably borrows from an owned value. Read more

###

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

[src]

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

🔬 This is a nightly-only experimental API. (`try_from`)

The type returned in the event of a conversion error.

####

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

[src]

🔬 This is a nightly-only experimental API. (`try_from`)

Performs the conversion.

###

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

[src]

####

`fn get_type_id(&self) -> TypeId`

[src]

🔬 This is a nightly-only experimental API. (`get_type_id`)

this method will likely be replaced by an associated static

Gets the `TypeId` of `self`. Read more

###

`impl<F> IntoFuture for F where F: Future,`

[src]

#### `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]

Consumes this object and produces a future.

###

`impl<T> Erased for T`

###

`impl<T> FutureExt for T where T: Future + ?Sized,`

[src]

####

`fn timeout(self, timeout: Duration) -> Timeout<Self>`

[src]

Creates a new future which allows `self` until `timeout`. Read more

###

`impl<F, A> WrapFuture for F where A: Actor, F: Future,`

#### `type Future = FutureWrap<F, A>`

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_actor(self, &A) -> <F as WrapFuture<A>>::Future` |

Convert normal future to a ActorFuture

# Help

## Keyboard Shortcuts

`?`
  Show this help dialog
`S`
  Focus the search field
`↑`
  Move up in search results
`↓`
  Move down in search results
`↹`
  Switch tab
`⏎`
  Go to active search result
`+`
  Expand all sections
`-`
  Collapse all sections

## Search Tricks

Prefix searches with a type followed by a colon (e.g. `fn:`) to restrict the search to a given type.

Accepted types are: `fn`, `mod`, `struct`, `enum`, `trait`, `type`, `macro`, and `const`.

Search functions by type signature (e.g. `vec -> usize` or `* -> vec`)

Search multiple things at once by splitting your query with comma (e.g. `str,u8` or `String,struct:Vec,test`)