implement missing IO function for SocketFile

This commit is contained in:
WangRunji 2019-04-21 17:26:17 +08:00
parent 58ff7b88b5
commit 5d9b8e4fa3

@ -64,20 +64,40 @@ impl File for SocketFile {
} }
} }
fn read_at(&self, offset: usize, buf: &mut [u8]) -> Result<usize, Error> { fn read_at(&self, _offset: usize, buf: &mut [u8]) -> Result<usize, Error> {
unimplemented!() self.read(buf)
} }
fn write_at(&self, offset: usize, buf: &[u8]) -> Result<usize, Error> { fn write_at(&self, _offset: usize, buf: &[u8]) -> Result<usize, Error> {
unimplemented!() self.write(buf)
} }
fn readv(&self, bufs: &mut [&mut [u8]]) -> Result<usize, Error> { fn readv(&self, bufs: &mut [&mut [u8]]) -> Result<usize, Error> {
unimplemented!() let mut total_len = 0;
for buf in bufs {
match self.read(buf) {
Ok(len) => {
total_len += len;
}
Err(_) if total_len != 0 => break,
Err(e) => return Err(e.into()),
}
}
Ok(total_len)
} }
fn writev(&self, bufs: &[&[u8]]) -> Result<usize, Error> { fn writev(&self, bufs: &[&[u8]]) -> Result<usize, Error> {
unimplemented!() let mut total_len = 0;
for buf in bufs {
match self.write(buf) {
Ok(len) => {
total_len += len;
}
Err(_) if total_len != 0 => break,
Err(e) => return Err(e.into()),
}
}
Ok(total_len)
} }
fn seek(&self, pos: SeekFrom) -> Result<off_t, Error> { fn seek(&self, pos: SeekFrom) -> Result<off_t, Error> {