BurntSushi/chan

crossbeam-channel – EOL chan

jnicholls opened this issue · 6 comments

#@BurntSushi I would suggest checking out crossbeam-channel and if you feel it's a replacement for chan, point people to it in your README to defragment the mpmc situation a little bit. Thanks for all you do.

I haven't tried it yet, but yeah, when I do, if I think it sufficiently replaces this crate then I would be happy to retire it and point folks to crossbeam-channel. I suspect my three biggest concerns are this:

  1. What does writing a select look like?
  2. Do channels block or are they constantly spinning?
  3. I will probably want a replacement for chan-signal, although I suspect that would be easy enough to build on crossbeam-channel.

I'm on mobile, so I haven't done my due diligence on the above concerns.

Okay, I just read the crate docs and I'm super impressed. It seems all of my concerns are satisfied. I'll give it a try in my cmail and fst commands, and assuming all goes well, I'll EOL chan.

I'll give it a try in my cmail and fst commands

Please do! If you have any feedback, let me know. :)

So far I've written a fairly extensive suite of unit tests and managed to switch Servo from mpsc to crossbeam-channel without any problems. However, the crate was released only yesterday, so right now I want as much real-world testing as possible so that we uncover and fix all potential bugs (if there are any).

Just published version 0.2.0 of crossbeam-channel:
https://docs.rs/crossbeam-channel/0.2.0/crossbeam_channel/

The interface of these two crates is now almost identical.

For anyone coming here: my intent is still to EOL chan and update the README, but I'm behind in variety of book-keeping work.

This is done. I've spread the word that chan is dead! Long live crossbeam-channel!