# actix_web::actix::fut::StreamWrap - Rust
API documentation for the Rust `StreamWrap` struct in crate `actix_web`.
Keywords: rust, rustlang, rust-lang, StreamWrap

# Struct actix_web::actix::fut::StreamWrap [−]

    pub struct StreamWrap<S, A> where
        S: Stream,  { /* fields omitted */ }

## Trait Implementations

###

`impl<S, A> ActorStream for StreamWrap<S, A> where A: Actor, S: Stream,`

#### `type Item = <S as Stream>::Item`

The type of item this stream will yield on success.

#### `type Error = <S as Stream>::Error`

The type of error this stream may generate.

#### `type Actor = A`

The actor within which this stream runs.

####

`fn poll( &mut self, &mut <StreamWrap<S, A> as ActorStream>::Actor, &mut <<StreamWrap<S, A> as ActorStream>::Actor as Actor>::Context ) -> Result<Async<Option<<StreamWrap<S, A> as ActorStream>::Item>>, <StreamWrap<S, A> as ActorStream>::Error>` |

####

`fn map<U, F>(self, f: F) -> StreamMap<Self, F> where F: FnMut(Self::Item, &mut Self::Actor, &mut <Self::Actor as Actor>::Context) -> U,` |

Converts a stream of type `T` to a stream of type `U`.

####

`fn map_err<E, F>(self, f: F) -> StreamMapErr<Self, F> where F: FnMut(Self::Error, &mut Self::Actor, &mut <Self::Actor as Actor>::Context) -> E,` |

Converts a stream of error type `T` to a stream of error type `E`.

####

`fn then<F, U>(self, f: F) -> StreamThen<Self, F, U> where F: FnMut(Result<Self::Item, Self::Error>, &mut Self::Actor, &mut <Self::Actor as Actor>::Context) -> U, U: IntoActorFuture<Actor = Self::Actor>,` |

Chain on a computation for when a value is ready, passing the resulting item to the provided closure `f`. Read more

####

`fn and_then<F, U>(self, f: F) -> StreamAndThen<Self, F, U> where F: FnMut(Self::Item, &mut Self::Actor, &mut <Self::Actor as Actor>::Context) -> U, U: IntoActorFuture<Error = Self::Error, Actor = Self::Actor>,` |

Chain on a computation for when a value is ready, passing the successful results to the provided closure `f`. Read more

####

`fn fold<F, T, Fut>(self, init: T, f: F) -> StreamFold<Self, F, Fut, T> where F: FnMut(T, Self::Item, &mut Self::Actor, &mut <Self::Actor as Actor>::Context) -> Fut, Fut: IntoActorFuture<Actor = Self::Actor, Item = T>, Self::Error: From<<Fut as IntoActorFuture>::Error>,` |

Execute an accumulating computation over a stream, collecting all the values into one final result. Read more

####

`fn timeout(self, timeout: Duration, err: Self::Error) -> StreamTimeout<Self> where Self::Error: Clone,` |

Add timeout to stream. Read more

####

`fn finish(self) -> StreamFinish<Self>` |

Converts a stream to a future that resolves when stream finishes.

## Auto Trait Implementations

###

`impl<S, A> Send for StreamWrap<S, A> where A: Send, S: Send,`

###

`impl<S, A> Sync for StreamWrap<S, A> where A: Sync, S: Sync,`

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