]> git.proxmox.com Git - rustc.git/blame - vendor/crossbeam-epoch/README.md
New upstream version 1.52.0~beta.3+dfsg1
[rustc.git] / vendor / crossbeam-epoch / README.md
CommitLineData
416331ca
XL
1# Crossbeam Epoch
2
5869c6ff
XL
3[![Build Status](https://github.com/crossbeam-rs/crossbeam/workflows/CI/badge.svg)](
4https://github.com/crossbeam-rs/crossbeam/actions)
6a06907d 5[![License](https://img.shields.io/badge/license-MIT_OR_Apache--2.0-blue.svg)](
5869c6ff 6https://github.com/crossbeam-rs/crossbeam/tree/master/crossbeam-epoch#license)
416331ca
XL
7[![Cargo](https://img.shields.io/crates/v/crossbeam-epoch.svg)](
8https://crates.io/crates/crossbeam-epoch)
9[![Documentation](https://docs.rs/crossbeam-epoch/badge.svg)](
10https://docs.rs/crossbeam-epoch)
5869c6ff 11[![Rust 1.36+](https://img.shields.io/badge/rust-1.36+-lightgray.svg)](
416331ca
XL
12https://www.rust-lang.org)
13[![chat](https://img.shields.io/discord/569610676205781012.svg?logo=discord)](https://discord.gg/BBYwKq)
14
15This crate provides epoch-based garbage collection for building concurrent data structures.
16
17When a thread removes an object from a concurrent data structure, other threads
18may be still using pointers to it at the same time, so it cannot be destroyed
19immediately. Epoch-based GC is an efficient mechanism for deferring destruction of
20shared objects until no pointers to them can exist.
21
22Everything in this crate except the global GC can be used in `no_std` environments, provided that
6a06907d 23`alloc` feature is enabled.
416331ca
XL
24
25## Usage
26
27Add this to your `Cargo.toml`:
28
29```toml
30[dependencies]
5869c6ff 31crossbeam-epoch = "0.9"
416331ca
XL
32```
33
f035d41b
XL
34## Compatibility
35
5869c6ff
XL
36Crossbeam Epoch supports stable Rust releases going back at least six months,
37and every time the minimum supported Rust version is increased, a new minor
38version is released. Currently, the minimum supported Rust version is 1.36.
f035d41b 39
416331ca
XL
40## License
41
42Licensed under either of
43
44 * Apache License, Version 2.0 ([LICENSE-APACHE](LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0)
45 * MIT license ([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT)
46
47at your option.
48
49#### Contribution
50
51Unless you explicitly state otherwise, any contribution intentionally submitted
52for inclusion in the work by you, as defined in the Apache-2.0 license, shall be
53dual licensed as above, without any additional terms or conditions.