[−][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>,