| Crates.io | raii-counter |
| lib.rs | raii-counter |
| version | 0.4.1 |
| created_at | 2018-05-13 13:48:32.579576+00 |
| updated_at | 2021-03-09 19:24:28.858063+00 |
| description | RAII Counter. |
| homepage | https://github.com/DarrenTsung/raii-counter |
| repository | https://github.com/DarrenTsung/raii-counter |
| max_upload_size | |
| id | 65195 |
| size | 21,331 |
Rust type for a RAII Counter (counts number of held instances,
decrements count on Drop), implemented with Arc<AtomicUsize>.
Useful for tracking the number of holders exist for a handle, tracking the number of transactions that are in-flight, etc.
size 4 adds 4
to the count, and removes 4 when dropped.extern crate raii_counter;
use raii_counter::Counter;
let counter = Counter::new();
assert_eq!(counter.count(), 1);
let weak = counter.downgrade();
assert_eq!(weak.count(), 0);
{
let _counter1 = weak.spawn_upgrade();
assert_eq!(weak.count(), 1);
let _counter2 = weak.spawn_upgrade();
assert_eq!(weak.count(), 2);
}
assert_eq!(weak.count(), 0);
License: MIT