Skip to content

Commit

Permalink
Rewrite std::comm
Browse files Browse the repository at this point in the history
* Streams are now ~3x faster than before (fewer allocations and more optimized)
    * Based on a single-producer single-consumer lock-free queue that doesn't
      always have to allocate on every send.
    * Blocking via mutexes/cond vars outside the runtime
* Streams work in/out of the runtime seamlessly
* Select now works in/out of the runtime seamlessly
* Streams will now fail!() on send() if the other end has hung up
    * try_send() will not fail
* PortOne/ChanOne removed
* SharedPort removed
* MegaPipe removed
* Generic select removed (only one kind of port now)
* API redesign
    * try_recv == never block
    * recv_opt == block, don't fail
    * iter() == Iterator<T> for Port<T>
    * removed peek
    * Type::new
* Removed rt::comm
  • Loading branch information
alexcrichton committed Dec 17, 2013
1 parent 000cda6 commit bfa9064
Show file tree
Hide file tree
Showing 9 changed files with 2,631 additions and 434 deletions.
311 changes: 0 additions & 311 deletions src/libstd/comm.rs

This file was deleted.

Loading

0 comments on commit bfa9064

Please sign in to comment.