https://github.com/restioson/catty
Send and await a value asynchronously
https://github.com/restioson/catty
Last synced: about 1 year ago
JSON representation
Send and await a value asynchronously
- Host: GitHub
- URL: https://github.com/restioson/catty
- Owner: Restioson
- License: apache-2.0
- Created: 2020-09-10T09:27:00.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2023-09-28T09:52:48.000Z (over 2 years ago)
- Last Synced: 2024-11-01T05:51:34.292Z (over 1 year ago)
- Language: Rust
- Homepage:
- Size: 19.5 KB
- Stars: 8
- Watchers: 2
- Forks: 3
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# catty

Send a value synchronously and asynchronously wait for it. Catty is faster, simpler, and more lightweight than
[`futures::oneshot`](https://docs.rs/futures/0.3.5/futures/channel/oneshot/index.html), which is *slightly* more flexible.
## Example
```rust
let (tx, rx) = catty::oneshot();
tx.send("Hello!");
assert_eq!(rx.await, Ok("Hello!"));
```
## Benchmarks
To run the benchmarks with Criterion, simply do `cargo bench`. On my machine, the results are as follows:
```
create-futures time: [70.934 ns 70.979 ns 71.045 ns]
create-catty time: [32.549 ns 32.594 ns 32.650 ns]
oneshot-futures time: [146.45 ns 146.76 ns 147.09 ns]
oneshot-catty time: [98.497 ns 99.065 ns 99.686 ns]
send-futures time: [80.163 ns 80.384 ns 80.680 ns]
send-catty time: [39.064 ns 39.206 ns 39.354 ns]
```