argus-chunk 0.1.0

Argus watches over chunk IO — little-endian wire primitives, bounds-checked spans, and raw/zstd codecs
Documentation
# argus-chunk

[![Crates.io](https://img.shields.io/crates/v/argus-chunk.svg)](https://crates.io/crates/argus-chunk)
[![docs.rs](https://img.shields.io/docsrs/argus-chunk)](https://docs.rs/argus-chunk)
![Build](https://github.com/Latka-Industries/argus-chunk/workflows/Build/badge.svg)
![Rust](https://img.shields.io/badge/rust-1.95-orange.svg)

> Round his head Argus had a hundred eyes.  
> These eyes took turns resting two at a time,  
> while the others kept watching and remained  
> on guard. No matter where he was standing,  
> he could see Io.  
>_[Metamorphoses][ovid]_

**Argus watches over chunk IO** — little-endian wire primitives, bounds-checked
spans, and raw/zstd payload codecs.

Shared foundation for [Tetration](https://github.com/Latka-Industries/tetration)
(`.tet`) and [Tessera](https://github.com/Latka-Industries/tessera) (`.tes`).
Product-specific superblocks, index rows, and catalogs stay in those crates.

```rust
use argus::{MappedFile, codec, le};

let map = MappedFile::open("note.tes")?;
let mut r = le::LeReader::require(map.as_bytes(), "superblock", 64)?;
let magic = r.take_4();
```

## Modules

| Module | Role |
| --- | --- |
| [`le`]src/le.rs | `align8`, `LeReader` / `LeWriter`, span checks |
| [`codec`]src/codec.rs | payload codec `0` (raw) / `1` (zstd) |
| [`mmap`]src/mmap.rs | `MappedFile` — keep `File` + `Mmap` alive |

Import as `argus` (`[lib] name = "argus"`).

## License

Dual-licensed under [MIT](LICENSE-MIT) or [Apache-2.0](LICENSE-APACHE).

[ovid]: https://bookshop.org/p/books/ovid-metamorphoses-brandino-rangoni-machiavelli/cf9e73ac875648ee?ean=9780244075248&bkshp-astro=t