virtfs: import types from handle, drop types:: prefix
This commit is contained in:
@@ -9,8 +9,9 @@
|
||||
//!
|
||||
//! Note that `poll_oneoff` is not supported for these types, so they do not match the behavior of
|
||||
//! real pipes exactly.
|
||||
use crate::handle::{Handle, HandleRights};
|
||||
use crate::wasi::types;
|
||||
use crate::handle::{
|
||||
Advice, Fdflags, Filesize, Filestat, Filetype, Handle, HandleRights, Oflags, Rights,
|
||||
};
|
||||
use crate::{Error, Result};
|
||||
use std::any::Any;
|
||||
use std::io::{self, Read, Write};
|
||||
@@ -54,7 +55,6 @@ impl<R: Read + Any> ReadPipe<R> {
|
||||
///
|
||||
/// All `Handle` read operations delegate to reading from this underlying reader.
|
||||
pub fn from_shared(reader: Arc<RwLock<R>>) -> Self {
|
||||
use types::Rights;
|
||||
Self {
|
||||
rights: RwLock::new(HandleRights::from_base(
|
||||
Rights::FD_DATASYNC
|
||||
@@ -115,8 +115,8 @@ impl<R: Read + Any> Handle for ReadPipe<R> {
|
||||
Ok(Box::new(self.clone()))
|
||||
}
|
||||
|
||||
fn get_file_type(&self) -> types::Filetype {
|
||||
types::Filetype::Unknown
|
||||
fn get_file_type(&self) -> Filetype {
|
||||
Filetype::Unknown
|
||||
}
|
||||
|
||||
fn get_rights(&self) -> HandleRights {
|
||||
@@ -127,26 +127,21 @@ impl<R: Read + Any> Handle for ReadPipe<R> {
|
||||
*self.rights.write().unwrap() = rights;
|
||||
}
|
||||
|
||||
fn advise(
|
||||
&self,
|
||||
_advice: types::Advice,
|
||||
_offset: types::Filesize,
|
||||
_len: types::Filesize,
|
||||
) -> Result<()> {
|
||||
fn advise(&self, _advice: Advice, _offset: Filesize, _len: Filesize) -> Result<()> {
|
||||
Err(Error::Spipe)
|
||||
}
|
||||
|
||||
fn allocate(&self, _offset: types::Filesize, _len: types::Filesize) -> Result<()> {
|
||||
fn allocate(&self, _offset: Filesize, _len: Filesize) -> Result<()> {
|
||||
Err(Error::Spipe)
|
||||
}
|
||||
|
||||
fn fdstat_set_flags(&self, _fdflags: types::Fdflags) -> Result<()> {
|
||||
fn fdstat_set_flags(&self, _fdflags: Fdflags) -> Result<()> {
|
||||
// do nothing for now
|
||||
Ok(())
|
||||
}
|
||||
|
||||
fn filestat_get(&self) -> Result<types::Filestat> {
|
||||
let stat = types::Filestat {
|
||||
fn filestat_get(&self) -> Result<Filestat> {
|
||||
let stat = Filestat {
|
||||
dev: 0,
|
||||
ino: 0,
|
||||
nlink: 0,
|
||||
@@ -159,18 +154,18 @@ impl<R: Read + Any> Handle for ReadPipe<R> {
|
||||
Ok(stat)
|
||||
}
|
||||
|
||||
fn filestat_set_size(&self, _st_size: types::Filesize) -> Result<()> {
|
||||
fn filestat_set_size(&self, _st_size: Filesize) -> Result<()> {
|
||||
Err(Error::Spipe)
|
||||
}
|
||||
|
||||
fn preadv(&self, buf: &mut [io::IoSliceMut], offset: types::Filesize) -> Result<usize> {
|
||||
fn preadv(&self, buf: &mut [io::IoSliceMut], offset: Filesize) -> Result<usize> {
|
||||
if offset != 0 {
|
||||
return Err(Error::Spipe);
|
||||
}
|
||||
Ok(self.reader.write().unwrap().read_vectored(buf)?)
|
||||
}
|
||||
|
||||
fn seek(&self, _offset: io::SeekFrom) -> Result<types::Filesize> {
|
||||
fn seek(&self, _offset: io::SeekFrom) -> Result<Filesize> {
|
||||
Err(Error::Spipe)
|
||||
}
|
||||
|
||||
@@ -187,8 +182,8 @@ impl<R: Read + Any> Handle for ReadPipe<R> {
|
||||
_path: &str,
|
||||
_read: bool,
|
||||
_write: bool,
|
||||
_oflags: types::Oflags,
|
||||
_fd_flags: types::Fdflags,
|
||||
_oflags: Oflags,
|
||||
_fd_flags: Fdflags,
|
||||
) -> Result<Box<dyn Handle>> {
|
||||
Err(Error::Notdir)
|
||||
}
|
||||
@@ -256,7 +251,6 @@ impl<W: Write + Any> WritePipe<W> {
|
||||
///
|
||||
/// All `Handle` write operations delegate to writing to this underlying writer.
|
||||
pub fn from_shared(writer: Arc<RwLock<W>>) -> Self {
|
||||
use types::Rights;
|
||||
Self {
|
||||
rights: RwLock::new(HandleRights::from_base(
|
||||
Rights::FD_DATASYNC
|
||||
@@ -300,8 +294,8 @@ impl<W: Write + Any> Handle for WritePipe<W> {
|
||||
Ok(Box::new(self.clone()))
|
||||
}
|
||||
|
||||
fn get_file_type(&self) -> types::Filetype {
|
||||
types::Filetype::Unknown
|
||||
fn get_file_type(&self) -> Filetype {
|
||||
Filetype::Unknown
|
||||
}
|
||||
|
||||
fn get_rights(&self) -> HandleRights {
|
||||
@@ -312,26 +306,21 @@ impl<W: Write + Any> Handle for WritePipe<W> {
|
||||
*self.rights.write().unwrap() = rights;
|
||||
}
|
||||
|
||||
fn advise(
|
||||
&self,
|
||||
_advice: types::Advice,
|
||||
_offset: types::Filesize,
|
||||
_len: types::Filesize,
|
||||
) -> Result<()> {
|
||||
fn advise(&self, _advice: Advice, _offset: Filesize, _len: Filesize) -> Result<()> {
|
||||
Err(Error::Spipe)
|
||||
}
|
||||
|
||||
fn allocate(&self, _offset: types::Filesize, _len: types::Filesize) -> Result<()> {
|
||||
fn allocate(&self, _offset: Filesize, _len: Filesize) -> Result<()> {
|
||||
Err(Error::Spipe)
|
||||
}
|
||||
|
||||
fn fdstat_set_flags(&self, _fdflags: types::Fdflags) -> Result<()> {
|
||||
fn fdstat_set_flags(&self, _fdflags: Fdflags) -> Result<()> {
|
||||
// do nothing for now
|
||||
Ok(())
|
||||
}
|
||||
|
||||
fn filestat_get(&self) -> Result<types::Filestat> {
|
||||
let stat = types::Filestat {
|
||||
fn filestat_get(&self) -> Result<Filestat> {
|
||||
let stat = Filestat {
|
||||
dev: 0,
|
||||
ino: 0,
|
||||
nlink: 0,
|
||||
@@ -344,18 +333,18 @@ impl<W: Write + Any> Handle for WritePipe<W> {
|
||||
Ok(stat)
|
||||
}
|
||||
|
||||
fn filestat_set_size(&self, _st_size: types::Filesize) -> Result<()> {
|
||||
fn filestat_set_size(&self, _st_size: Filesize) -> Result<()> {
|
||||
Err(Error::Spipe)
|
||||
}
|
||||
|
||||
fn pwritev(&self, buf: &[io::IoSlice], offset: types::Filesize) -> Result<usize> {
|
||||
fn pwritev(&self, buf: &[io::IoSlice], offset: Filesize) -> Result<usize> {
|
||||
if offset != 0 {
|
||||
return Err(Error::Spipe);
|
||||
}
|
||||
Ok(self.writer.write().unwrap().write_vectored(buf)?)
|
||||
}
|
||||
|
||||
fn seek(&self, _offset: io::SeekFrom) -> Result<types::Filesize> {
|
||||
fn seek(&self, _offset: io::SeekFrom) -> Result<Filesize> {
|
||||
Err(Error::Spipe)
|
||||
}
|
||||
|
||||
@@ -372,8 +361,8 @@ impl<W: Write + Any> Handle for WritePipe<W> {
|
||||
_path: &str,
|
||||
_read: bool,
|
||||
_write: bool,
|
||||
_oflags: types::Oflags,
|
||||
_fd_flags: types::Fdflags,
|
||||
_oflags: Oflags,
|
||||
_fd_flags: Fdflags,
|
||||
) -> Result<Box<dyn Handle>> {
|
||||
Err(Error::Notdir)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user