Struct fastly::handle::StreamingBodyHandle
source · [−]#[repr(transparent)]pub struct StreamingBodyHandle { /* private fields */ }
Expand description
A low-level interface to a streaming HTTP body.
The interface to this type is very similar to BodyHandle
, however it is write-only, and can
only be created as a result of calling
ResponseHandle::send_to_client()
or
RequestHandle::send_async_streaming()
.
This type implements Write
to write to the end of a body. Note that these operations are
unbuffered, unlike the same operations on the higher-level Body
type.
A streaming body will be automatically closed when it goes out of scope, or when it is passed to
drop()
.
Implementations
sourceimpl StreamingBodyHandle
impl StreamingBodyHandle
sourcepub fn append(&mut self, other: BodyHandle)
pub fn append(&mut self, other: BodyHandle)
Append another body onto the end of this body.
This operation is performed in amortized constant time, and so should always be preferred to reading an entire body and then writing the same contents to another body.
The other body will no longer be valid after this call.
Examples
let mut streaming_body = response_handle.stream_to_client(BodyHandle::new());
streaming_body.append(other_body);
Trait Implementations
sourceimpl Debug for StreamingBodyHandle
impl Debug for StreamingBodyHandle
sourceimpl From<StreamingBodyHandle> for StreamingBody
impl From<StreamingBodyHandle> for StreamingBody
sourcefn from(handle: StreamingBodyHandle) -> Self
fn from(handle: StreamingBodyHandle) -> Self
Converts to this type from the input type.
sourceimpl Hash for StreamingBodyHandle
impl Hash for StreamingBodyHandle
sourceimpl PartialEq<StreamingBodyHandle> for StreamingBodyHandle
impl PartialEq<StreamingBodyHandle> for StreamingBodyHandle
sourcefn eq(&self, other: &StreamingBodyHandle) -> bool
fn eq(&self, other: &StreamingBodyHandle) -> bool
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
sourcefn ne(&self, other: &StreamingBodyHandle) -> bool
fn ne(&self, other: &StreamingBodyHandle) -> bool
This method tests for !=
.
sourceimpl Write for StreamingBodyHandle
impl Write for StreamingBodyHandle
sourcefn write(&mut self, buf: &[u8]) -> Result<usize>
fn write(&mut self, buf: &[u8]) -> Result<usize>
Write a buffer into this writer, returning how many bytes were written. Read more
sourcefn flush(&mut self) -> Result<()>
fn flush(&mut self) -> Result<()>
Flush this output stream, ensuring that all intermediately buffered contents reach their destination. Read more
sourcefn is_write_vectored(&self) -> bool
fn is_write_vectored(&self) -> bool
can_vector
)Determines if this Write
r has an efficient write_vectored
implementation. Read more
1.0.0 · sourcefn write_all(&mut self, buf: &[u8]) -> Result<(), Error>
fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>
Attempts to write an entire buffer into this writer. Read more
sourcefn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>
fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>
write_all_vectored
)Attempts to write multiple buffers into this writer. Read more
impl Eq for StreamingBodyHandle
impl StructuralEq for StreamingBodyHandle
impl StructuralPartialEq for StreamingBodyHandle
Auto Trait Implementations
impl RefUnwindSafe for StreamingBodyHandle
impl Send for StreamingBodyHandle
impl Sync for StreamingBodyHandle
impl Unpin for StreamingBodyHandle
impl UnwindSafe for StreamingBodyHandle
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more