Trait std::rt::rtio::IoFactoryExperimental [-]  [+] [src]

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

Required Methods

fn tcp_connect(&mut self, addr: SocketAddr, timeout: Option<u64>) -> Result<Box<RtioTcpStream>, IoError>

fn tcp_bind(&mut self, addr: SocketAddr) -> Result<Box<RtioTcpListener>, IoError>

fn udp_bind(&mut self, addr: SocketAddr) -> Result<Box<RtioUdpSocket>, IoError>

fn unix_bind(&mut self, path: &CString) -> Result<Box<RtioUnixListener>, IoError>

fn unix_connect(&mut self, path: &CString, timeout: Option<u64>) -> Result<Box<RtioPipe>, IoError>

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

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

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

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

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

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

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

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

fn fs_readdir(&mut self, path: &CString, flags: i32) -> Result<Vec<CString>, IoError>

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

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

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

fn timer_init(&mut self) -> Result<Box<RtioTimer>, IoError>

fn spawn(&mut self, cfg: ProcessConfig) -> Result<(Box<RtioProcess>, Vec<Option<Box<RtioPipe>>>), IoError>

fn kill(&mut self, pid: i32, signal: int) -> Result<(), IoError>

fn pipe_open(&mut self, fd: i32) -> Result<Box<RtioPipe>, IoError>

fn tty_open(&mut self, fd: i32, readable: bool) -> Result<Box<RtioTTY>, IoError>

fn signal(&mut self, signal: int, cb: Box<Callback>) -> Result<Box<RtioSignal>, IoError>

Implementors