1
Fork 0

Rewrite std::comm

* 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
This commit is contained in:
Alex Crichton 2013-12-05 17:56:17 -08:00
parent 000cda611f
commit bfa9064ba2
9 changed files with 2648 additions and 451 deletions

View file

@ -203,15 +203,16 @@ pub mod rt;
mod std {
pub use clone;
pub use cmp;
pub use comm;
pub use condition;
pub use fmt;
pub use io;
pub use kinds;
pub use local_data;
pub use logging;
pub use logging;
pub use option;
pub use os;
pub use io;
pub use rt;
pub use str;
pub use to_bytes;