kanal
kanal copied to clipboard
The fast sync and async channel that Rust deserves
I couldn't stop thinking about how to maybe abstract all the `unsafe` stuff into a single module. This `StackCell` should be sound (maybe I made a mistake), and could potentially...
`kanal` hangs for me 99% of the time in all async benchmarks, both with the [official benchmarks](https://github.com/fereidani/rust-channel-benchmarks) and with [Tachyobench](https://github.com/asynchronics/tachyobench/). I was initially suspecting a problem with async notifications, but...
https://play.rust-lang.org/?version=stable&mode=release&edition=2021&gist=8c4019721056c7bf7ccfef8f6f4a6d86 This code hangs forever but finishes with std mpsc or crossbeam. Removing the sleep fixes the issue.
Nice work!! I think it would be nice to have a clear separation of the different kind of channels. I assume the one currently implemented is mpmc because both the...
Just saw this on Reddit, and I think I have to leave a few notes on the code. I don't want to demotivate you and can offer to send in...
miri reports lots undefined behaviour, and some are easy to confirm. For example ``` running 13 tests test kanal_tests::tests::mpmc_0 ... error: Undefined Behavior: trying to retag from for SharedReadWrite permission...
I see that others have made related PRs and suggestions, but in my opinion these came short of fully solving the problem. The issue is that the `AsyncSignal::poll` method takes...
Hello, thank you very much for this crate. Exactly what I need for my application. I would like to ask: How expensive to create one `ReceiveStream` from `Receiver` ? If...
Select would be very helpful especially when one channel is used to communicate cancellation while another is communicating elements. However, I did not test closing a channel, but coming from...
## Problem Continuing from #34, I audited oneshot and found a data racing problem. The quickest way to reproduce it is using MIRI. ```console $ cargo +nightly miri --version miri...