Struct basic_text::TextDuplexer [−][src]
A HalfDuplex implementation which translates from an input HalfDuplex
implementation producing an arbitrary byte sequence into a valid Basic Text
stream.
Implementations
impl<Inner: HalfDuplex + ReadStr + ReadLayered + ReadStrLayered + WriteStr + WriteLayered> TextDuplexer<Inner>[src]
pub fn new(inner: Inner) -> Self[src]
Construct a new instance of TextDuplexer wrapping inner.
pub fn with_bom_compatibility(mut inner: Inner) -> Result<Self>[src]
Like new, but writes a U+FEFF (BOM) to the beginning of the output
stream for compatibility with consumers that require that to determine
the text encoding.
pub fn with_crlf_compatibility(inner: Inner) -> Self[src]
Like new, but enables CRLF output mode, which translates "\n" to
"\r\n" for compatibility with consumers that need that.
Note: This is not often needed; even on Windows these days most things are ok with plain '\n' line endings, including Windows Notepad. The main notable things that really need them are IETF RFCs, for example RFC-5198.
pub fn close_into_inner(self) -> Result<Inner>[src]
Flush and close the underlying stream and return the underlying stream object.
pub fn abandon_into_inner(self) -> Inner[src]
Return the underlying stream object.
Trait Implementations
impl<Inner: HalfDuplexLayered + ReadStr + WriteStr + AsRawFd> AsRawFd for TextDuplexer<Inner>[src]
impl<Inner: HalfDuplexLayered + ReadStrLayered + WriteStr> Bufferable for TextDuplexer<Inner>[src]
fn suggested_buffer_size(&self) -> usize[src]
fn abandon(&mut self)[src]
impl<Inner: HalfDuplexLayered + ReadStr + WriteStr + Debug> Debug for TextDuplexer<Inner>[src]
impl<Inner: HalfDuplexLayered + ReadStrLayered + WriteStr> Duplex for TextDuplexer<Inner>[src]
impl<Inner: HalfDuplexLayered + ReadStrLayered + WriteStr> Read for TextDuplexer<Inner>[src]
fn read(&mut self, buf: &mut [u8]) -> Result<usize>[src]
fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize>[src]
fn read_to_string(&mut self, buf: &mut String) -> Result<usize>[src]
pub fn read_vectored(
&mut self,
bufs: &mut [IoSliceMut<'_>]
) -> Result<usize, Error>1.36.0[src]
&mut self,
bufs: &mut [IoSliceMut<'_>]
) -> Result<usize, Error>
pub fn is_read_vectored(&self) -> bool[src]
pub unsafe fn initializer(&self) -> Initializer[src]
pub fn read_exact(&mut self, buf: &mut [u8]) -> Result<(), Error>1.6.0[src]
pub fn by_ref(&mut self) -> &mut Self1.0.0[src]
pub fn bytes(self) -> Bytes<Self>1.0.0[src]
pub fn chain<R>(self, next: R) -> Chain<Self, R> where
R: Read, 1.0.0[src]
R: Read,
pub fn take(self, limit: u64) -> Take<Self>1.0.0[src]
impl<Inner: HalfDuplexLayered + ReadStrLayered + WriteStr> ReadLayered for TextDuplexer<Inner>[src]
fn read_with_status(&mut self, buf: &mut [u8]) -> Result<(usize, Status)>[src]
fn minimum_buffer_size(&self) -> usize[src]
pub fn read_vectored_with_status(
&mut self,
bufs: &mut [IoSliceMut<'_>]
) -> Result<(usize, Status), Error>[src]
&mut self,
bufs: &mut [IoSliceMut<'_>]
) -> Result<(usize, Status), Error>
pub fn read_exact_using_status(
&mut self,
buf: &mut [u8]
) -> Result<Status, Error>[src]
&mut self,
buf: &mut [u8]
) -> Result<Status, Error>
impl<Inner: HalfDuplexLayered + ReadStrLayered + WriteStr> ReadStr for TextDuplexer<Inner>[src]
fn read_str(&mut self, buf: &mut str) -> Result<usize>[src]
fn read_exact_str(&mut self, buf: &mut str) -> Result<()>[src]
impl<Inner: HalfDuplexLayered + ReadStrLayered + WriteStr> ReadStrLayered for TextDuplexer<Inner>[src]
fn read_str_with_status(&mut self, buf: &mut str) -> Result<(usize, Status)>[src]
fn read_exact_str_using_status(&mut self, buf: &mut str) -> Result<Status>[src]
impl<Inner: HalfDuplexLayered + ReadStrLayered + WriteStr> ReadText for TextDuplexer<Inner>[src]
fn read_text(&mut self, buf: &mut TextStr) -> Result<usize>[src]
fn read_exact_text(&mut self, buf: &mut TextStr) -> Result<()>[src]
impl<Inner: HalfDuplexLayered + ReadStrLayered + WriteStr> Write for TextDuplexer<Inner>[src]
fn write(&mut self, buf: &[u8]) -> Result<usize>[src]
fn flush(&mut self) -> Result<()>[src]
fn is_write_vectored(&self) -> bool[src]
fn write_vectored(&mut self, bufs: &[IoSlice<'_>]) -> Result<usize>[src]
fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<()>[src]
pub fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>1.0.0[src]
pub fn write_fmt(&mut self, fmt: Arguments<'_>) -> Result<(), Error>1.0.0[src]
pub fn by_ref(&mut self) -> &mut Self1.0.0[src]
impl<Inner: HalfDuplexLayered + ReadStrLayered + WriteStr> WriteLayered for TextDuplexer<Inner>[src]
fn close(&mut self) -> Result<()>[src]
pub fn flush_with_status(&mut self, status: Status) -> Result<(), Error>[src]
impl<Inner: HalfDuplexLayered + ReadStrLayered + WriteStr> WriteStr for TextDuplexer<Inner>[src]
impl<Inner: HalfDuplexLayered + ReadStrLayered + WriteStr> WriteText for TextDuplexer<Inner>[src]
fn write_text(&mut self, s: &TextStr) -> Result<()>[src]
Auto Trait Implementations
impl<Inner> RefUnwindSafe for TextDuplexer<Inner> where
Inner: RefUnwindSafe, [src]
Inner: RefUnwindSafe,
impl<Inner> Send for TextDuplexer<Inner> where
Inner: Send, [src]
Inner: Send,
impl<Inner> Sync for TextDuplexer<Inner> where
Inner: Sync, [src]
Inner: Sync,
impl<Inner> Unpin for TextDuplexer<Inner> where
Inner: Unpin, [src]
Inner: Unpin,
impl<Inner> UnwindSafe for TextDuplexer<Inner> where
Inner: UnwindSafe, [src]
Inner: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,
impl<T> AsUnsafeFile for T where
T: AsRawFd,
T: AsRawFd,
pub fn as_unsafe_file(&self) -> UnsafeFile
pub fn as_file_view(&self) -> View<'_, File>
pub unsafe fn as_unscoped_file_view(&self) -> View<'static, File>
pub fn as_pipe_reader_view(&self) -> View<'_, PipeReader>
pub unsafe fn as_unscoped_pipe_reader_view(&self) -> View<'static, PipeReader>
pub fn as_pipe_writer_view(&self) -> View<'_, PipeWriter>
pub unsafe fn as_unscoped_pipe_writer_view(&self) -> View<'static, PipeWriter>
impl<T> AsUnsafeHandle for T where
T: AsRawFd,
T: AsRawFd,
pub fn as_unsafe_handle(&self) -> UnsafeHandle
impl<T> AsUnsafeSocket for T where
T: AsRawFd,
T: AsRawFd,
pub fn as_unsafe_socket(&self) -> UnsafeSocket
pub fn as_tcp_stream_view(&self) -> View<'_, TcpStream>
pub unsafe fn as_unscoped_tcp_stream_view(&self) -> View<'static, TcpStream>
pub fn as_tcp_listener_view(&self) -> View<'_, TcpListener>
pub unsafe fn as_unscoped_tcp_listener_view(&self) -> View<'static, TcpListener>
pub fn as_udp_socket_view(&self) -> View<'_, UdpSocket>
pub unsafe fn as_unscoped_udp_socket_view(&self) -> View<'static, UdpSocket>
pub fn as_unix_stream_view(&self) -> View<'_, UnixStream>
pub unsafe fn as_unscoped_unix_stream_view(&self) -> View<'static, UnixStream>
impl<T> Borrow<T> for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T[src]
impl<T> From<T> for T[src]
impl<T> HalfDuplex for T where
T: Duplex + Read + Write, [src]
T: Duplex + Read + Write,
impl<T> HalfDuplexLayered for T where
T: ReadLayered + WriteLayered + Duplex, [src]
T: ReadLayered + WriteLayered + Duplex,
impl<T, U> Into<U> for T where
U: From<T>, [src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>, [src]
U: Into<T>,
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]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>, [src]
U: TryFrom<T>,