Struct rotor_stream::Transport
[−]
[src]
pub struct Transport<'a, S: StreamSocket> { // some fields omitted }
Methods
impl<'a, S: StreamSocket> Transport<'a, S>
[src]
Transport is thing that provides buffered I/O for stream sockets
fn socket<'x>(&'x mut self) -> &'x mut S
Get the reference to the underlying stream
It's here so you can inspect socket state or tune it. For example you might want to set TCP_CORK option or find out peer or local address.
Reading from and writing to a socket directly may lead to unexpected
behavior. Use input()
and output()
buffers instead.
fn input<'x>(&'x mut self) -> &'x mut Buf
Get a reference to the input buffer
It's expected that you only read and consume()
bytes from buffer
but never write.
fn output<'x>(&'x mut self) -> &'x mut Buf
Get a reference to the output buffer
It's expected that you only inspect and write to the output buffer
but never consume()
fn buffers<'x>(&'x mut self) -> (&'x mut Buf, &'x mut Buf)
Get a references to both buffers (input, output)
It's useful when you want to pass both things somewhere along the
chain of calls. See input()
and output()
methods for more comments
on buffer usage