[−][src]Struct wasi_common::OsOther
OsOther is something of a catch-all for everything not covered with the specific handle
types (OsFile, OsDir, Stdio). It currently encapsulates handles such as OS pipes,
sockets, streams, etc. As such, when redirecting stdio within WasiCtxBuilder, the redirected
pipe should be encapsulated within this instance and not OsFile which represents a regular
OS file.
Constructing OsOther
OsOther can currently only be constructed from std::fs::File using
the std::convert::TryFrom trait:
use std::fs::OpenOptions; use std::convert::TryFrom; use wasi_common::OsOther; let pipe = OpenOptions::new().read(true).open("a_pipe").unwrap(); let os_other = OsOther::try_from(pipe).unwrap();
Trait Implementations
impl Debug for OsOther[src]
impl Deref for OsOther[src]
type Target = RawOsHandle
The resulting type after dereferencing.
fn deref(&self) -> &Self::Target[src]
impl Handle for OsOther[src]
fn as_any(&self) -> &dyn Any[src]
fn try_clone(&self) -> Result<Box<dyn Handle>>[src]
fn get_file_type(&self) -> Filetype[src]
fn get_rights(&self) -> HandleRights[src]
fn set_rights(&self, new_rights: HandleRights)[src]
fn fdstat_get(&self) -> Result<Fdflags>[src]
fn fdstat_set_flags(&self, fdflags: Fdflags) -> Result<()>[src]
fn read_vectored(&self, iovs: &mut [IoSliceMut]) -> Result<usize>[src]
fn write_vectored(&self, iovs: &[IoSlice]) -> Result<usize>[src]
fn is_directory(&self) -> bool[src]
fn is_tty(&self) -> bool[src]
fn advise(
&self,
_advice: Advice,
_offset: Filesize,
_len: Filesize
) -> Result<()>[src]
&self,
_advice: Advice,
_offset: Filesize,
_len: Filesize
) -> Result<()>
fn allocate(&self, _offset: Filesize, _len: Filesize) -> Result<()>[src]
fn datasync(&self) -> Result<()>[src]
fn filestat_get(&self) -> Result<Filestat>[src]
fn filestat_set_size(&self, _st_size: Filesize) -> Result<()>[src]
fn filestat_set_times(
&self,
_atim: Timestamp,
_mtim: Timestamp,
_fst_flags: Fstflags
) -> Result<()>[src]
&self,
_atim: Timestamp,
_mtim: Timestamp,
_fst_flags: Fstflags
) -> Result<()>
fn preadv(&self, _buf: &mut [IoSliceMut], _offset: u64) -> Result<usize>[src]
fn pwritev(&self, _buf: &[IoSlice], _offset: u64) -> Result<usize>[src]
fn readdir<'a>(
&'a self,
_cookie: Dircookie
) -> Result<Box<dyn Iterator<Item = Result<(Dirent, String)>> + 'a>>[src]
&'a self,
_cookie: Dircookie
) -> Result<Box<dyn Iterator<Item = Result<(Dirent, String)>> + 'a>>
fn seek(&self, _offset: SeekFrom) -> Result<u64>[src]
fn sync(&self) -> Result<()>[src]
fn create_directory(&self, _path: &str) -> Result<()>[src]
fn filestat_get_at(&self, _path: &str, _follow: bool) -> Result<Filestat>[src]
fn filestat_set_times_at(
&self,
_path: &str,
_atim: Timestamp,
_mtim: Timestamp,
_fst_flags: Fstflags,
_follow: bool
) -> Result<()>[src]
&self,
_path: &str,
_atim: Timestamp,
_mtim: Timestamp,
_fst_flags: Fstflags,
_follow: bool
) -> Result<()>
fn openat(
&self,
_path: &str,
_read: bool,
_write: bool,
_oflags: Oflags,
_fd_flags: Fdflags
) -> Result<Box<dyn Handle>>[src]
&self,
_path: &str,
_read: bool,
_write: bool,
_oflags: Oflags,
_fd_flags: Fdflags
) -> Result<Box<dyn Handle>>
fn link(
&self,
_old_path: &str,
_new_handle: Box<dyn Handle>,
_new_path: &str,
_follow: bool
) -> Result<()>[src]
&self,
_old_path: &str,
_new_handle: Box<dyn Handle>,
_new_path: &str,
_follow: bool
) -> Result<()>
fn readlink(&self, _path: &str, _buf: &mut [u8]) -> Result<usize>[src]
fn readlinkat(&self, _path: &str) -> Result<String>[src]
fn remove_directory(&self, _path: &str) -> Result<()>[src]
fn rename(
&self,
_old_path: &str,
_new_handle: Box<dyn Handle>,
_new_path: &str
) -> Result<()>[src]
&self,
_old_path: &str,
_new_handle: Box<dyn Handle>,
_new_path: &str
) -> Result<()>
fn symlink(&self, _old_path: &str, _new_path: &str) -> Result<()>[src]
fn unlink_file(&self, _path: &str) -> Result<()>[src]
impl TryFrom<File> for OsOther[src]
Auto Trait Implementations
impl !RefUnwindSafe for OsOther
impl Send for OsOther
impl !Sync for OsOther
impl Unpin for OsOther
impl UnwindSafe for OsOther
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T[src]
impl<T> From<T> for T[src]
impl<T, U> Into<U> for T where
U: From<T>, [src]
U: From<T>,
impl<T> Pointee for T[src]
type Pointer = u32
fn debug(
pointer: <T as Pointee>::Pointer,
f: &mut Formatter
) -> Result<(), Error>[src]
pointer: <T as Pointee>::Pointer,
f: &mut Formatter
) -> Result<(), Error>
impl<T, U> TryFrom<U> for T where
U: Into<T>, [src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>, [src]
U: TryFrom<T>,