diff options
-rw-r--r-- | Cargo.lock | 6 | ||||
-rw-r--r-- | Cargo.toml | 4 | ||||
-rw-r--r-- | src/lib.rs | 29 |
3 files changed, 18 insertions, 21 deletions
@@ -232,7 +232,7 @@ dependencies = [ [[package]] name = "growth-ring" -version = "0.1.3" +version = "0.1.4" dependencies = [ "async-trait", "crc", @@ -281,9 +281,9 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" [[package]] name = "libaio-futures" -version = "0.1.4" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e435ab17c42371feda64ba459de5a248980ba96c367c29d0c7c63ab6481fc563" +checksum = "0d069762d093188296e4c5144630afa35f5580b1cdfdcdfd89f55935e3b16a15" dependencies = [ "crossbeam-channel", "libc", @@ -1,6 +1,6 @@ [package] name = "growth-ring" -version = "0.1.3" +version = "0.1.4" authors = ["Determinant <[email protected]>"] edition = "2018" homepage = "https://github.com/Determinant/growth-ring" @@ -17,7 +17,7 @@ scan_fmt = "0.2.5" regex = "1.3.9" async-trait = "0.1.35" futures = "0.3.5" -libaio-futures = "0.1.4" +libaio-futures = "0.1.7" nix = "0.17.0" libc = "0.2.71" @@ -107,17 +107,14 @@ impl WALFile for WALFileAIO { } async fn write(&self, offset: WALPos, data: WALBytes) -> Result<(), ()> { - self.aiomgr - .write(self.fd, offset, data, None) - .await - .or_else(|_| Err(())) - .and_then(|(nwrote, data)| { - if nwrote == data.len() { - Ok(()) - } else { - Err(()) - } - }) + let (res, data) = self.aiomgr.write(self.fd, offset, data, None).await; + res.or_else(|_| Err(())).and_then(|nwrote| { + if nwrote == data.len() { + Ok(()) + } else { + Err(()) + } + }) } fn read( @@ -125,11 +122,11 @@ impl WALFile for WALFileAIO { offset: WALPos, length: usize, ) -> Result<Option<WALBytes>, ()> { - block_on(self.aiomgr.read(self.fd, offset, length, None)) - .or_else(|_| Err(())) - .and_then(|(nread, data)| { - Ok(if nread == length { Some(data) } else { None }) - }) + let (res, data) = + block_on(self.aiomgr.read(self.fd, offset, length, None)); + res.or_else(|_| Err(())).and_then(|nread| { + Ok(if nread == length { Some(data) } else { None }) + }) } } |