# Struct hyper::body::Sender [−] [src]

    #[must_use = "Sender does nothing unless sent on"]pub struct Sender { /* fields omitted */ }

A sender half created through `Body::channel()`.

Useful when wanting to stream chunks from another thread.

## Body Closing

Note that the request body will always be closed normally when the sender is dropped (meaning that the empty terminating chunk will be sent to the remote). If you desire to close the connection with an incomplete response (e.g. in the case of an error during asynchronous processing), call the `Sender::abort()` method to abort the body in an abnormal fashion.

## Implementations

### `impl Sender` [src]

#### `pub fn poll_ready(&mut self, cx: &mut Context<'_>) -> Poll<Result<()>>` [src]

Check to see if this `Sender` can send more data.

#### `pub async fn send_data(&mut self, chunk: Bytes) -> Result<()>` [src]

Send data on data channel when it is ready.

#### `pub async fn send_trailers(&mut self, trailers: HeaderMap) -> Result<()>` [src]

Send trailers on trailers channel.

#### `pub fn try_send_data(&mut self, chunk: Bytes) -> Result<(), Bytes>` [src]

Try to send data on this channel.

# Errors

Returns `Err(Bytes)` if the channel could not (currently) accept another `Bytes`.

# Note

This is mostly useful for when trying to send from some other thread that doesn’t have an async context. If in an async context, prefer `send_data()` instead.

#### `pub fn abort(self)` [src]

Aborts the body in an abnormal fashion.

## Trait Implementations

### `impl Debug for Sender` [src]

#### `fn fmt(&self, f: &mut Formatter<'_>) -> Result` [src]

Formats the value using the given formatter. Read more

## Auto Trait Implementations

### `impl !RefUnwindSafe for Sender`

### `impl Send for Sender`

### `impl Sync for Sender`

### `impl Unpin for Sender`

### `impl !UnwindSafe for Sender`

## Blanket Implementations

### `impl<T> Any for T where
T: 'static + ?Sized,` [src]

#### `pub fn type_id(&self) -> TypeId` [src]

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

### `impl<T> Borrow<T> for T where
T: ?Sized,` [src]

#### `pub fn borrow(&self) -> &T` [src]

Immutably borrows from an owned value. Read more

### `impl<T> BorrowMut<T> for T where
T: ?Sized,` [src]

#### `pub fn borrow_mut(&mut self) -> &mut T` [src]

Mutably borrows from an owned value. Read more

### `impl<T> From<T> for T` [src]

#### `pub fn from(t: T) -> T` [src]

Performs the conversion.

### `impl<T> Instrument for T` [src]

#### `pub fn instrument(self, span: Span) -> Instrumented<Self>` [src]

Instruments this type with the provided `Span`, returning an `Instrumented` wrapper. Read more

#### `pub fn in_current_span(self) -> Instrumented<Self>` [src]

Instruments this type with the current `Span`, returning an `Instrumented` wrapper. Read more

### `impl<T, U> Into<U> for T where
U: From<T>,` [src]

#### `pub fn into(self) -> U` [src]

Performs the conversion.

### `impl<T, U> TryFrom<U> for T where
U: Into<T>,` [src]

#### `type Error = Infallible`

The type returned in the event of a conversion error.

#### `pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>` [src]

Performs the conversion.

### `impl<T, U> TryInto<U> for T where
U: TryFrom<T>,` [src]

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

The type returned in the event of a conversion error.

#### `pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>` [src]

Performs the conversion.