about summary refs log tree commit diff
path: root/src/libstd/rt/mpsc_queue.rs
AgeCommit message (Collapse)AuthorLines
2013-12-24std: Introduce std::syncAlex Crichton-215/+0
For now, this moves the following modules to std::sync * UnsafeArc (also removed unwrap method) * mpsc_queue * spsc_queue * atomics * mpmc_bounded_queue * deque We may want to remove some of the queues, but for now this moves things out of std::rt into std::sync
2013-12-16Rewrite std::commAlex Crichton-110/+120
* 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
2013-10-25Encapsulate the lock-free mpsc queue in the MessageQueue typeBrian Anderson-4/+0
2013-10-25Add links to original mpmc and mpsc implementationsBrian Anderson-0/+1
2013-10-25TidyBrian Anderson-3/+3
2013-10-25minorJason Toffaletti-2/+2
2013-10-25fix bug introduced by previous clean up. more clean up.Jason Toffaletti-23/+19
2013-10-25clean upJason Toffaletti-36/+38
2013-10-25add cache line paddingJason Toffaletti-4/+11
2013-10-25lock-free queue for scheduler message queueJason Toffaletti-0/+203