pub struct FCGIWriter<RW> { /* private fields */ }
Available on crate feature
codec
only.Implementations§
Source§impl<RW: AsyncRead + AsyncWrite + Unpin> FCGIWriter<RW>
impl<RW: AsyncRead + AsyncWrite + Unpin> FCGIWriter<RW>
pub fn new(io: RW) -> FCGIWriter<RW>
Source§impl<W: AsyncWrite + Unpin> FCGIWriter<W>
impl<W: AsyncWrite + Unpin> FCGIWriter<W>
pub async fn shutdown(&mut self) -> Result<()>
pub async fn encode(&mut self, item: FCGIType) -> Result<()>
Sourcepub async fn data_stream<B>(
&mut self,
body: B,
request_id: u16,
rtype: RecordType,
len: usize,
) -> Result<()>
pub async fn data_stream<B>( &mut self, body: B, request_id: u16, rtype: RecordType, len: usize, ) -> Result<()>
Write whole body
to the stream
Sourcepub async fn flush_data_chunk<B>(
&mut self,
data: B,
request_id: u16,
rtype: RecordType,
) -> Result<()>where
B: Buf,
pub async fn flush_data_chunk<B>(
&mut self,
data: B,
request_id: u16,
rtype: RecordType,
) -> Result<()>where
B: Buf,
Write data to the stream. Insert header as needed. do not end the data stream
Sourcepub fn kv_stream(
&mut self,
request_id: u16,
rtype: RecordType,
) -> NameValuePairWriter<'_, W>
pub fn kv_stream( &mut self, request_id: u16, rtype: RecordType, ) -> NameValuePairWriter<'_, W>
Create a NameValuePairWriter for this stream in order to write key value pairs (like PARAMS).
use tokio::io::AsyncWrite;
use async_fcgi::{fastcgi::RecordType, codec::FCGIWriter};
async fn write_params<W: AsyncWrite+Unpin>(fcgi_writer: &mut FCGIWriter<W>) -> std::io::Result<()> {
let mut kvw = fcgi_writer.kv_stream(1, RecordType::Params);
kvw.add_kv(&b"QUERY_STRING"[..], &b""[..]).await?;
kvw.flush().await?;
Ok(())
}
See encode_kvp
Trait Implementations§
Source§impl<R: AsyncBufRead + Unpin> AsyncBufRead for FCGIWriter<R>
impl<R: AsyncBufRead + Unpin> AsyncBufRead for FCGIWriter<R>
Auto Trait Implementations§
impl<RW> Freeze for FCGIWriter<RW>where
RW: Freeze,
impl<RW> RefUnwindSafe for FCGIWriter<RW>where
RW: RefUnwindSafe,
impl<RW> Send for FCGIWriter<RW>where
RW: Send,
impl<RW> Sync for FCGIWriter<RW>where
RW: Sync,
impl<RW> Unpin for FCGIWriter<RW>where
RW: Unpin,
impl<RW> UnwindSafe for FCGIWriter<RW>where
RW: UnwindSafe,
Blanket Implementations§
Source§impl<R> AsyncBufReadExt for Rwhere
R: AsyncBufRead + ?Sized,
impl<R> AsyncBufReadExt for Rwhere
R: AsyncBufRead + ?Sized,
Source§fn read_until<'a>(
&'a mut self,
byte: u8,
buf: &'a mut Vec<u8>,
) -> ReadUntil<'a, Self>where
Self: Unpin,
fn read_until<'a>(
&'a mut self,
byte: u8,
buf: &'a mut Vec<u8>,
) -> ReadUntil<'a, Self>where
Self: Unpin,
Source§fn read_line<'a>(&'a mut self, buf: &'a mut String) -> ReadLine<'a, Self>where
Self: Unpin,
fn read_line<'a>(&'a mut self, buf: &'a mut String) -> ReadLine<'a, Self>where
Self: Unpin,
Reads all bytes until a newline (the 0xA byte) is reached, and append
them to the provided buffer. Read more
Source§fn split(self, byte: u8) -> Split<Self>
fn split(self, byte: u8) -> Split<Self>
Returns a stream of the contents of this reader split on the byte
byte
. Read moreSource§fn fill_buf(&mut self) -> FillBuf<'_, Self>where
Self: Unpin,
fn fill_buf(&mut self) -> FillBuf<'_, Self>where
Self: Unpin,
Returns the contents of the internal buffer, filling it with more
data from the inner reader if it is empty. Read more
Source§impl<R> AsyncReadExt for R
impl<R> AsyncReadExt for R
Source§fn read<'a>(&'a mut self, buf: &'a mut [u8]) -> Read<'a, Self>where
Self: Unpin,
fn read<'a>(&'a mut self, buf: &'a mut [u8]) -> Read<'a, Self>where
Self: Unpin,
Pulls some bytes from this source into the specified buffer,
returning how many bytes were read. Read more
Source§fn read_buf<'a, B>(&'a mut self, buf: &'a mut B) -> ReadBuf<'a, Self, B>
fn read_buf<'a, B>(&'a mut self, buf: &'a mut B) -> ReadBuf<'a, Self, B>
Pulls some bytes from this source into the specified buffer,
advancing the buffer’s internal cursor. Read more
Source§fn read_exact<'a>(&'a mut self, buf: &'a mut [u8]) -> ReadExact<'a, Self>where
Self: Unpin,
fn read_exact<'a>(&'a mut self, buf: &'a mut [u8]) -> ReadExact<'a, Self>where
Self: Unpin,
Reads the exact number of bytes required to fill
buf
. Read moreSource§fn read_u8<'a>(&'a mut self) -> ReadU8<&'a mut Self>where
Self: Unpin,
fn read_u8<'a>(&'a mut self) -> ReadU8<&'a mut Self>where
Self: Unpin,
Reads an unsigned 8 bit integer from the underlying reader. Read more
Source§fn read_i8<'a>(&'a mut self) -> ReadI8<&'a mut Self>where
Self: Unpin,
fn read_i8<'a>(&'a mut self) -> ReadI8<&'a mut Self>where
Self: Unpin,
Reads a signed 8 bit integer from the underlying reader. Read more
Source§fn read_u16<'a>(&'a mut self) -> ReadU16<&'a mut Self>where
Self: Unpin,
fn read_u16<'a>(&'a mut self) -> ReadU16<&'a mut Self>where
Self: Unpin,
Reads an unsigned 16-bit integer in big-endian order from the
underlying reader. Read more
Source§fn read_i16<'a>(&'a mut self) -> ReadI16<&'a mut Self>where
Self: Unpin,
fn read_i16<'a>(&'a mut self) -> ReadI16<&'a mut Self>where
Self: Unpin,
Reads a signed 16-bit integer in big-endian order from the
underlying reader. Read more
Source§fn read_u32<'a>(&'a mut self) -> ReadU32<&'a mut Self>where
Self: Unpin,
fn read_u32<'a>(&'a mut self) -> ReadU32<&'a mut Self>where
Self: Unpin,
Reads an unsigned 32-bit integer in big-endian order from the
underlying reader. Read more
Source§fn read_i32<'a>(&'a mut self) -> ReadI32<&'a mut Self>where
Self: Unpin,
fn read_i32<'a>(&'a mut self) -> ReadI32<&'a mut Self>where
Self: Unpin,
Reads a signed 32-bit integer in big-endian order from the
underlying reader. Read more
Source§fn read_u64<'a>(&'a mut self) -> ReadU64<&'a mut Self>where
Self: Unpin,
fn read_u64<'a>(&'a mut self) -> ReadU64<&'a mut Self>where
Self: Unpin,
Reads an unsigned 64-bit integer in big-endian order from the
underlying reader. Read more
Source§fn read_i64<'a>(&'a mut self) -> ReadI64<&'a mut Self>where
Self: Unpin,
fn read_i64<'a>(&'a mut self) -> ReadI64<&'a mut Self>where
Self: Unpin,
Reads an signed 64-bit integer in big-endian order from the
underlying reader. Read more
Source§fn read_u128<'a>(&'a mut self) -> ReadU128<&'a mut Self>where
Self: Unpin,
fn read_u128<'a>(&'a mut self) -> ReadU128<&'a mut Self>where
Self: Unpin,
Reads an unsigned 128-bit integer in big-endian order from the
underlying reader. Read more
Source§fn read_i128<'a>(&'a mut self) -> ReadI128<&'a mut Self>where
Self: Unpin,
fn read_i128<'a>(&'a mut self) -> ReadI128<&'a mut Self>where
Self: Unpin,
Reads an signed 128-bit integer in big-endian order from the
underlying reader. Read more
Source§fn read_f32<'a>(&'a mut self) -> ReadF32<&'a mut Self>where
Self: Unpin,
fn read_f32<'a>(&'a mut self) -> ReadF32<&'a mut Self>where
Self: Unpin,
Reads an 32-bit floating point type in big-endian order from the
underlying reader. Read more
Source§fn read_f64<'a>(&'a mut self) -> ReadF64<&'a mut Self>where
Self: Unpin,
fn read_f64<'a>(&'a mut self) -> ReadF64<&'a mut Self>where
Self: Unpin,
Reads an 64-bit floating point type in big-endian order from the
underlying reader. Read more
Source§fn read_u16_le<'a>(&'a mut self) -> ReadU16Le<&'a mut Self>where
Self: Unpin,
fn read_u16_le<'a>(&'a mut self) -> ReadU16Le<&'a mut Self>where
Self: Unpin,
Reads an unsigned 16-bit integer in little-endian order from the
underlying reader. Read more
Source§fn read_i16_le<'a>(&'a mut self) -> ReadI16Le<&'a mut Self>where
Self: Unpin,
fn read_i16_le<'a>(&'a mut self) -> ReadI16Le<&'a mut Self>where
Self: Unpin,
Reads a signed 16-bit integer in little-endian order from the
underlying reader. Read more
Source§fn read_u32_le<'a>(&'a mut self) -> ReadU32Le<&'a mut Self>where
Self: Unpin,
fn read_u32_le<'a>(&'a mut self) -> ReadU32Le<&'a mut Self>where
Self: Unpin,
Reads an unsigned 32-bit integer in little-endian order from the
underlying reader. Read more
Source§fn read_i32_le<'a>(&'a mut self) -> ReadI32Le<&'a mut Self>where
Self: Unpin,
fn read_i32_le<'a>(&'a mut self) -> ReadI32Le<&'a mut Self>where
Self: Unpin,
Reads a signed 32-bit integer in little-endian order from the
underlying reader. Read more
Source§fn read_u64_le<'a>(&'a mut self) -> ReadU64Le<&'a mut Self>where
Self: Unpin,
fn read_u64_le<'a>(&'a mut self) -> ReadU64Le<&'a mut Self>where
Self: Unpin,
Reads an unsigned 64-bit integer in little-endian order from the
underlying reader. Read more
Source§fn read_i64_le<'a>(&'a mut self) -> ReadI64Le<&'a mut Self>where
Self: Unpin,
fn read_i64_le<'a>(&'a mut self) -> ReadI64Le<&'a mut Self>where
Self: Unpin,
Reads an signed 64-bit integer in little-endian order from the
underlying reader. Read more
Source§fn read_u128_le<'a>(&'a mut self) -> ReadU128Le<&'a mut Self>where
Self: Unpin,
fn read_u128_le<'a>(&'a mut self) -> ReadU128Le<&'a mut Self>where
Self: Unpin,
Reads an unsigned 128-bit integer in little-endian order from the
underlying reader. Read more
Source§fn read_i128_le<'a>(&'a mut self) -> ReadI128Le<&'a mut Self>where
Self: Unpin,
fn read_i128_le<'a>(&'a mut self) -> ReadI128Le<&'a mut Self>where
Self: Unpin,
Reads an signed 128-bit integer in little-endian order from the
underlying reader. Read more
Source§fn read_f32_le<'a>(&'a mut self) -> ReadF32Le<&'a mut Self>where
Self: Unpin,
fn read_f32_le<'a>(&'a mut self) -> ReadF32Le<&'a mut Self>where
Self: Unpin,
Reads an 32-bit floating point type in little-endian order from the
underlying reader. Read more
Source§fn read_f64_le<'a>(&'a mut self) -> ReadF64Le<&'a mut Self>where
Self: Unpin,
fn read_f64_le<'a>(&'a mut self) -> ReadF64Le<&'a mut Self>where
Self: Unpin,
Reads an 64-bit floating point type in little-endian order from the
underlying reader. Read more
Source§fn read_to_end<'a>(&'a mut self, buf: &'a mut Vec<u8>) -> ReadToEnd<'a, Self>where
Self: Unpin,
fn read_to_end<'a>(&'a mut self, buf: &'a mut Vec<u8>) -> ReadToEnd<'a, Self>where
Self: Unpin,
Reads all bytes until EOF in this source, placing them into
buf
. Read moreSource§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more