File: README.md

package info (click to toggle)
rust-synchronoise 1.0.1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 148 kB
  • sloc: makefile: 4
file content (42 lines) | stat: -rw-r--r-- 1,700 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# synchronoise

fun synchronization primitives for your fun synchronization needs [![Build Status](https://travis-ci.org/QuietMisdreavus/synchronoise.svg?branch=master)](https://travis-ci.org/QuietMisdreavus/synchronoise) [![Build status](https://ci.appveyor.com/api/projects/status/222hqcyigcdihfw9/branch/master?svg=true)](https://ci.appveyor.com/project/QuietMisdreavus/synchronoise/branch/master)

[Documentation](https://docs.rs/synchronoise) | ([Manually-generated docs for master][doc-dev])

[doc-dev]: https://tonberry.quietmisdreavus.net/synchronoise-dev/synchronoise/

This is a collection of synchronization facilities that aren't part of the standard library that I
wanted to make sure were available for the Rust community.

This crate contains the following synchronization primitives:

* `CountdownEvent`, a port of `System.Threading.CountdownEvent` from .NET (also called
  `CountDownLatch` in Java).
* `SignalEvent`, a port of `System.Threading.EventWaitHandle` (and its derived classes,
  `AutoResetEvent` and `ManualResetEvent`) from .NET.
* `WriterReaderPhaser`, a port of `WriterReaderPhaser` from HdrHistogram.

To add this crate to your project, add the following line to your Cargo.toml:

```toml
[dependencies]
synchronoise = "0.4.0"
```

...and the following to your crate root:

```rust
extern crate synchronoise;
```

# License

synchronoise is licensed under either the MIT License or the Apache License version 2.0, at your
option. See the files `LICENSE-MIT` and `LICENSE-APACHE` for details.

(synchronoise is named after [a move in Pokemon][synch], by the way)

[synch]: http://bulbapedia.bulbagarden.net/wiki/Synchronoise_(move)

<!-- vim: set tw=100 expandtab: -->