Skip to content

Commit

Permalink
Update deps and docs (#32)
Browse files Browse the repository at this point in the history
* update dependencies

* mark release 0.6.2

* update docs a bit

* re-add unreleased
  • Loading branch information
kalamay authored Mar 8, 2024
1 parent 1ab859c commit 34dabda
Show file tree
Hide file tree
Showing 4 changed files with 43 additions and 31 deletions.
6 changes: 5 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

## [0.6.2] - 2024-03-08
- Update dependencies

## [0.6.1] - 2024-03-07
- Add error conversion

Expand Down Expand Up @@ -46,7 +49,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Stopped using deprecated examples where possible
- Return the `File` object when `open`ing from a path

[Unreleased]: https://github.com/kalamay/vmap-rs/compare/v0.6.1...HEAD
[Unreleased]: https://github.com/kalamay/vmap-rs/compare/v0.6.2...HEAD
[0.6.2]: https://github.com/kalamay/vmap-rs/compare/v0.6.1...v0.6.2
[0.6.1]: https://github.com/kalamay/vmap-rs/compare/v0.6.0...v0.6.1
[0.6.0]: https://github.com/kalamay/vmap-rs/compare/v0.5.1...v0.6.0
[0.5.1]: https://github.com/kalamay/vmap-rs/compare/v0.5.0...v0.5.1
Expand Down
6 changes: 3 additions & 3 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
[package]
name = "vmap"
version = "0.6.1"
version = "0.6.2"
authors = ["Jeremy Larkin <[email protected]>"]
license = "MIT"
repository = "https://github.com/kalamay/vmap-rs"
documentation = "https://docs.rs/vmap"
description = "Cross-platform library for fast and safe memory-mapped IO"
description = "Cross-platform library for fast and safe memory-mapped IO and boundary-free ring buffer."
keywords = ["mmap", "io", "file", "circular-buffer", "ring-buffer"]
edition = "2021"

Expand All @@ -16,7 +16,7 @@ io = []
os = []

[dependencies]
system_error = "0.1"
system_error = "0.2"

[target.'cfg(unix)'.dependencies]
libc = "0.2"
Expand Down
46 changes: 25 additions & 21 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
![Verify](https://github.com/kalamay/vmap-rs/workflows/Verify/badge.svg)

# vmap-rs
A cross-platform library for fast and safe memory-mapped IO in Rust

Take a look at the [Documentation](https://docs.rs/vmap/) for details!
A cross-platform library for fast and safe memory-mapped IO and boundary-free
ring buffer.

This library defines a convenient API for reading and writing to files
using the hosts virtual memory system. The design of the API strives to
using the hosts virtual memory system, as well as allocating memory and
creating circular memory regions. The design of the API strives to
both minimize the frequency of mapping system calls while still retaining
safe access. Critically, it never attempts the own the `File` object used
for mapping. That is, it never clones it or in any way retains it. While
Expand All @@ -25,10 +25,14 @@ these types ([`.into_map_mut()`] and [`.into_map()`]) assuming the proper
[`Options`] are specified.

Additionally, a variety of buffer implementations are provided in the
[`vmap::io`] module. The [`Ring`] and [`InfiniteRing`] use circular memory
address allocations using cross-platform optimizations to minimize excess
resources where possible. The [`BufReader`] and [`BufWriter`] implement
buffered I/O using a [`Ring`] as a backing layer.
[`vmap::io`] module. The [`Ring`] and [`InfiniteRing`] use cross-platform
optimzed circular memory mapping to remove the typical boundary problem
with most circular buffers. This ensures all ranges of the underlying byte
buffer can be viewed as a single byte slice, event when the value wraps
back around to the beginning of the buffer. The [`BufReader`] and [`BufWriter`]
implement buffered I/O using a [`Ring`] as a backing layer.

Take a look at the [Documentation](https://docs.rs/vmap/) for details!

# Examples

Expand Down Expand Up @@ -118,17 +122,17 @@ assert_eq!(line, "this is test line 2\n");
write!(&mut buf, "this is test line {}\n", i)?;
```

[`.flush()`]: https://docs.rs/vmap/0.6.1/vmap/struct.MapMut.html#method.flush
[`.into_map()`]: https://docs.rs/vmap/0.6.1/vmap/struct.MapMut.html#method.into_map
[`.into_map_mut()`]: https://docs.rs/vmap/0.6.1/vmap/struct.Map.html#method.into_map_mut
[`BufReader`]: https://docs.rs/vmap/0.6.1/vmap/io/struct.BufReader.html
[`BufWriter`]: https://docs.rs/vmap/0.6.1/vmap/io/struct.BufWriter.html
[`InfiniteRing`]: https://docs.rs/vmap/0.6.1/vmap/io/struct.InfiniteRing.html
[`Map::with_options()`]: https://docs.rs/vmap/0.6.1/vmap/struct.Map.html#method.with_options
[`MapMut::with_options()`]: https://docs.rs/vmap/0.6.1/vmap/struct.MapMut.html#method.with_options
[`MapMut`]: https://docs.rs/vmap/0.6.1/vmap/struct.MapMut.html
[`Map`]: https://docs.rs/vmap/0.6.1/vmap/struct.Map.html
[`Options`]: https://docs.rs/vmap/0.6.1/vmap/struct.Options.html
[`Ring`]: https://docs.rs/vmap/0.6.1/vmap/io/struct.Ring.html
[`vmap::io`]: https://docs.rs/vmap/0.6.1/vmap/io/index.html
[`.flush()`]: https://docs.rs/vmap/0.6.2/vmap/struct.MapMut.html#method.flush
[`.into_map()`]: https://docs.rs/vmap/0.6.2/vmap/struct.MapMut.html#method.into_map
[`.into_map_mut()`]: https://docs.rs/vmap/0.6.2/vmap/struct.Map.html#method.into_map_mut
[`BufReader`]: https://docs.rs/vmap/0.6.2/vmap/io/struct.BufReader.html
[`BufWriter`]: https://docs.rs/vmap/0.6.2/vmap/io/struct.BufWriter.html
[`InfiniteRing`]: https://docs.rs/vmap/0.6.2/vmap/io/struct.InfiniteRing.html
[`Map::with_options()`]: https://docs.rs/vmap/0.6.2/vmap/struct.Map.html#method.with_options
[`MapMut::with_options()`]: https://docs.rs/vmap/0.6.2/vmap/struct.MapMut.html#method.with_options
[`MapMut`]: https://docs.rs/vmap/0.6.2/vmap/struct.MapMut.html
[`Map`]: https://docs.rs/vmap/0.6.2/vmap/struct.Map.html
[`Options`]: https://docs.rs/vmap/0.6.2/vmap/struct.Options.html
[`Ring`]: https://docs.rs/vmap/0.6.2/vmap/io/struct.Ring.html
[`vmap::io`]: https://docs.rs/vmap/0.6.2/vmap/io/index.html
[`vmap`]: https://docs.rs/vmap/
16 changes: 10 additions & 6 deletions src/lib.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
//! A cross-platform library for fast and safe memory-mapped IO
//! A cross-platform library for fast and safe memory-mapped IO and boundary-free
//! ring buffer.
//!
//! This library defines a convenient API for reading and writing to files
//! using the hosts virtual memory system. The design of the API strives to
//! using the hosts virtual memory system, as well as allocating memory and
//! creating circular memory regions. The design of the API strives to
//! both minimize the frequency of mapping system calls while still retaining
//! safe access. Critically, it never attempts the own the `File` object used
//! for mapping. That is, it never clones it or in any way retains it. While
Expand All @@ -20,10 +22,12 @@
//! [`Options`] are specified.
//!
//! Additionally, a variety of buffer implementations are provided in the
//! [`vmap::io`] module. The [`Ring`] and [`InfiniteRing`] use circular memory
//! address allocations using cross-platform optimizations to minimize excess
//! resources where possible. The [`BufReader`] and [`BufWriter`] implement
//! buffered I/O using a [`Ring`] as a backing layer.
//! [`vmap::io`] module. The [`Ring`] and [`InfiniteRing`] use cross-platform
//! optimzed circular memory mapping to remove the typical boundary problem
//! with most circular buffers. This ensures all ranges of the underlying byte
//! buffer can be viewed as a single byte slice, event when the value wraps
//! back around to the beginning of the buffer. The [`BufReader`] and [`BufWriter`]
//! implement buffered I/O using a [`Ring`] as a backing layer.
//!
//! # Examples
//!
Expand Down

0 comments on commit 34dabda

Please sign in to comment.