Trait rustrt::rtio::IoFactory[src]

pub trait IoFactory {
    fn tcp_connect(&mut self, addr: SocketAddr, timeout: Option<u64>) -> IoResult<Box<RtioTcpStream + Send>>;
    fn tcp_bind(&mut self, addr: SocketAddr) -> IoResult<Box<RtioTcpListener + Send>>;
    fn udp_bind(&mut self, addr: SocketAddr) -> IoResult<Box<RtioUdpSocket + Send>>;
    fn unix_bind(&mut self, path: &CString) -> IoResult<Box<RtioUnixListener + Send>>;
    fn unix_connect(&mut self, path: &CString, timeout: Option<u64>) -> IoResult<Box<RtioPipe + Send>>;
    fn get_host_addresses(&mut self, host: Option<&str>, servname: Option<&str>, hint: Option<AddrinfoHint>) -> IoResult<Vec<AddrinfoInfo>>;
    fn fs_from_raw_fd(&mut self, fd: c_int, close: CloseBehavior) -> Box<RtioFileStream + Send>;
    fn fs_open(&mut self, path: &CString, fm: FileMode, fa: FileAccess) -> IoResult<Box<RtioFileStream + Send>>;
    fn fs_unlink(&mut self, path: &CString) -> IoResult<()>;
    fn fs_stat(&mut self, path: &CString) -> IoResult<FileStat>;
    fn fs_mkdir(&mut self, path: &CString, mode: uint) -> IoResult<()>;
    fn fs_chmod(&mut self, path: &CString, mode: uint) -> IoResult<()>;
    fn fs_rmdir(&mut self, path: &CString) -> IoResult<()>;
    fn fs_rename(&mut self, path: &CString, to: &CString) -> IoResult<()>;
    fn fs_readdir(&mut self, path: &CString, flags: c_int) -> IoResult<Vec<CString>>;
    fn fs_lstat(&mut self, path: &CString) -> IoResult<FileStat>;
    fn fs_chown(&mut self, path: &CString, uid: int, gid: int) -> IoResult<()>;
    fn fs_readlink(&mut self, path: &CString) -> IoResult<CString>;
    fn fs_symlink(&mut self, src: &CString, dst: &CString) -> IoResult<()>;
    fn fs_link(&mut self, src: &CString, dst: &CString) -> IoResult<()>;
    fn fs_utime(&mut self, src: &CString, atime: u64, mtime: u64) -> IoResult<()>;
    fn timer_init(&mut self) -> IoResult<Box<RtioTimer + Send>>;
    fn spawn(&mut self, cfg: ProcessConfig) -> IoResult<(Box<RtioProcess + Send>, Vec<Option<Box<RtioPipe + Send>>>)>;
    fn kill(&mut self, pid: pid_t, signal: int) -> IoResult<()>;
    fn pipe_open(&mut self, fd: c_int) -> IoResult<Box<RtioPipe + Send>>;
    fn tty_open(&mut self, fd: c_int, readable: bool) -> IoResult<Box<RtioTTY + Send>>;
    fn signal(&mut self, signal: int, cb: Box<Callback + Send>) -> IoResult<Box<RtioSignal + Send>>;
}

Required Methods

fn tcp_connect(&mut self, addr: SocketAddr, timeout: Option<u64>) -> IoResult<Box<RtioTcpStream + Send>>

fn tcp_bind(&mut self, addr: SocketAddr) -> IoResult<Box<RtioTcpListener + Send>>

fn udp_bind(&mut self, addr: SocketAddr) -> IoResult<Box<RtioUdpSocket + Send>>

fn unix_bind(&mut self, path: &CString) -> IoResult<Box<RtioUnixListener + Send>>

fn unix_connect(&mut self, path: &CString, timeout: Option<u64>) -> IoResult<Box<RtioPipe + Send>>

fn get_host_addresses(&mut self, host: Option<&str>, servname: Option<&str>, hint: Option<AddrinfoHint>) -> IoResult<Vec<AddrinfoInfo>>

fn fs_from_raw_fd(&mut self, fd: c_int, close: CloseBehavior) -> Box<RtioFileStream + Send>

fn fs_open(&mut self, path: &CString, fm: FileMode, fa: FileAccess) -> IoResult<Box<RtioFileStream + Send>>

fn fs_stat(&mut self, path: &CString) -> IoResult<FileStat>

fn fs_mkdir(&mut self, path: &CString, mode: uint) -> IoResult<()>

fn fs_chmod(&mut self, path: &CString, mode: uint) -> IoResult<()>

fn fs_rmdir(&mut self, path: &CString) -> IoResult<()>

fn fs_rename(&mut self, path: &CString, to: &CString) -> IoResult<()>

fn fs_readdir(&mut self, path: &CString, flags: c_int) -> IoResult<Vec<CString>>

fn fs_lstat(&mut self, path: &CString) -> IoResult<FileStat>

fn fs_chown(&mut self, path: &CString, uid: int, gid: int) -> IoResult<()>

fn fs_utime(&mut self, src: &CString, atime: u64, mtime: u64) -> IoResult<()>

fn timer_init(&mut self) -> IoResult<Box<RtioTimer + Send>>

fn spawn(&mut self, cfg: ProcessConfig) -> IoResult<(Box<RtioProcess + Send>, Vec<Option<Box<RtioPipe + Send>>>)>

fn kill(&mut self, pid: pid_t, signal: int) -> IoResult<()>

fn pipe_open(&mut self, fd: c_int) -> IoResult<Box<RtioPipe + Send>>

fn tty_open(&mut self, fd: c_int, readable: bool) -> IoResult<Box<RtioTTY + Send>>

fn signal(&mut self, signal: int, cb: Box<Callback + Send>) -> IoResult<Box<RtioSignal + Send>>

Implementors