1use super::super::*;
2use std::fs::File;
3use super::{pread,pwrite};
4
5impl ReadAt for File {
6 #[inline]
7 fn read_at(&self, buf: &mut[u8], offs: u64) -> Result<usize> {
8 pread(self, buf, offs)
9 }
10}
11
12impl WriteAt for File {
13 #[inline]
14 fn write_at(&mut self, buf: &[u8], offs: u64) -> Result<usize> {
15 pwrite(self, buf, offs)
16 }
17}
18
19impl<'a> WriteAt for &'a File {
23 #[inline]
24 fn write_at(&mut self, buf: &[u8], offs: u64) -> Result<usize> {
25 pwrite(*self, buf, offs)
26 }
27}
28
29#[cfg(test)]
30mod test {
31 use super::super::super::test_impl;
32 #[test]
33 fn base() {
34 use tempfile;
35 let f = tempfile::tempfile().unwrap();
36 test_impl(f);
37 }
38
39 #[test]
40 fn ref_() {
41 use tempfile;
42 let f = tempfile::tempfile().unwrap();
43 test_impl(&f);
44 }
45}