Skip to content

Latest commit

 

History

History
131 lines (99 loc) · 4.74 KB

read_write_at.md

File metadata and controls

131 lines (99 loc) · 4.74 KB
category description
I/O
Offset read_at/write_at with &self

read_write_at

Offset read_at/write_at with &self

Pros:

  • No runtime dependencies
  • Very thorough, well documented

Cons:

  • File isn't ReadAt/WriteAt on windows due to seeks... reasonable but annoying
  • A couple of minor API holes to be fixed

References: github, docs.rs, lib.rs, crates.io

Alternatives

crate ver rationale
buffered_offset_reader 0.6.0 Less generalized. Decent, slightly more convenient w/ File implementing read_at/write_at by default on windows too.
io-at 0.4.1 write_at requires &mut self
positioned-io 0.2.2 write_at requires &mut self
positioned-io-preview 0.3.3 write_at requires &mut self
scroll 0.10.1 Assumes you have a fully loaded byte buffer

Audit

version thoroughness understanding rating notes
0.1.0 high high ✔️ positive Full review

0.1.0

File Rating Notes
.cargo-ok ✔️
.cargo_vcs_info.json ✔️
.gitignore ✔️
.travis.yml ✔️ MSRV 1.34.2
Cargo.toml ⚠️ MIT/Apache-2.0
Cargo.toml.orig ⚠️ MIT/Apache-2.0
LICENSE ⚠️ MIT
README.md ⚠️ MIT/Apache-2.0
src\lib.rs ✔️
Other Rating Notes
unsafe ✔️ #![forbid(unsafe_code)]
fs ✔️ Reasonable
io ✔️ Reasonable
docs ✔️ #![deny(missing_docs)], reasonable
tests ✔️ Relatively minimal but OK

src/lib.rs

Line Notes
41 ✔️ read_exact_at impl logic
71 ✔️ read_exact_at impl logic
92 ✔️ ReadAtMut for ReadAt
110 ✔️ write_all_at impl logic
146 ✔️ write_all_at impl logic
168 ✔️ WriteAtMut for WriteAt
185 ✔️ *nix WriteAt for File
196 ✔️ *nix ReadAt for File
205 ⚠️ windows WriteAtMut for File - I'd like WriteAt too though
215 ⚠️ windows ReadAtMut for File - I'd like WriteAt too though
238 ✔️ ReadAtMut for ReadWriteSeek
261 ✔️ WriteAtMut for ReadWriteSeek
305 ✔️ ReadAtMut for DerefWrapper
316 ✔️ WriteAtMut for DerefWrapper
329 ✔️ ReadAt for RefCell
342 ✔️ WriteAt for RefCell
357 ✔️ ReadAt for Mutex<ReadAtMut>
384 ✔️ WriteAt for Mutex<WriteAtMut>
415 ✔️ Skimmed reasonable looking tests