category | description |
---|---|
I/O |
Offset read_at/write_at with &self |
Offset read_at/write_at with &self
Pros:
- No runtime dependencies
- Very thorough, well documented
Cons:
File
isn'tReadAt
/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
❔ | 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 |
version | thoroughness | understanding | rating | notes |
---|---|---|---|---|
0.1.0 | high | high | ✔️ positive | Full review |
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 |
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 | WriteAtMut for File - I'd like WriteAt too though |
215 | 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 |