summary refs log tree commit diff
path: root/src/libstd/comm/select.rs
AgeCommit message (Collapse)AuthorLines
2013-12-24std: Get stdtest all passing againAlex Crichton-81/+13
This commit brings the library up-to-date in order to get all tests passing again
2013-12-24std: Reimplement std::comm without the schedulerAlex Crichton-11/+17
Like the librustuv refactoring, this refactors std::comm to sever all ties with the scheduler. This means that the entire `comm::imp` module can be deleted in favor of implementations outside of libstd.
2013-12-23Fixing more doc testsAlex Crichton-1/+1
2013-12-23std: Fix all code examplesAlex Crichton-1/+2
2013-12-16Test fallout from std::comm rewriteAlex Crichton-5/+8
2013-12-16Fallout of rewriting std::commAlex Crichton-0/+2
2013-12-16Rewrite std::commAlex Crichton-0/+498
* 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