[][src]Trait udsx::UdsxUnixStream

pub trait UdsxUnixStream {
    unsafe fn send_streams(&self, streams: &[&dyn AsRawFd]) -> Result<()>;
unsafe fn send_ioe(&self) -> Result<()>;
unsafe fn send_credentials(&self) -> Result<()>;
unsafe fn recv_streams<T>(&self, count: usize) -> Result<Vec<T>>
    where
        T: FromRawFd
;
unsafe fn recv_ioe(&self) -> Result<(Stdio, Stdio, Stdio)>;
unsafe fn recv_credentials(&self) -> Result<Credentials>; }

Extensions for UnixStream

Notes

  • If you want to use send_credentials(), you should call it after sending any streams. Currently, there is an unknown bug if you send credentials before sending any streams.
  • All tests are passed in release mode, ten thousands of times. However, for some unknown reasons, they're sometimes passed, sometimes failed in debug mode.

Required methods

unsafe fn send_streams(&self, streams: &[&dyn AsRawFd]) -> Result<()>

Sends streams

Notes

Too much streams will make an error (see cmsg(3)).

See also

recv_streams()

unsafe fn send_ioe(&self) -> Result<()>

unsafe fn send_credentials(&self) -> Result<()>

Sends credentials

Notes

This function only works on Linux (see unix(7)).

unsafe fn recv_streams<T>(&self, count: usize) -> Result<Vec<T>> where
    T: FromRawFd

Receives streams

count is number of streams you want to receive. This must match what client sends.

See also

send_streams()

unsafe fn recv_ioe(&self) -> Result<(Stdio, Stdio, Stdio)>

Receives standard streams sent by send_ioe()

Results are: input, output and error streams.

unsafe fn recv_credentials(&self) -> Result<Credentials>

Receives credentials sent by send_credentials()

Notes

This function only works on Linux (see unix(7)).

Loading content...

Implementations on Foreign Types

impl UdsxUnixStream for UnixStream[src]

Loading content...

Implementors

Loading content...