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
Implementors