about summary refs log tree commit diff
path: root/src/libstd/comm.rs
AgeCommit message (Collapse)AuthorLines
2013-12-16Rewrite std::commAlex Crichton-311/+0
* 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-12-05auto merge of #10562 : ongardie/rust/master, r=brsonbors-6/+7
It's useful to allow users to get at the internal std::rc::comm::Port, and other such fields, since they implement important traits like Select. See [rust-dev] "select on std::comm::Port and different types" at https://mail.mozilla.org/pipermail/rust-dev/2013-November/006735.html for background.
2013-11-27Add an iterator for receiving messages from GenericPortsBrendan Zabarauskas-3/+84
2013-11-18Disable priv in std::comm::Port, etcDiego Ongaro-6/+7
It's useful to allow users to get at the internal std::rc::comm::Port, and other such fields, since they implement important traits like Select.
2013-10-30auto merge of #10168 : reedlepee123/rust/priv_fields, r=brsonbors-2/+2
....rs #8180
2013-10-30changed all the impl<T> to impl<T: Send> in rt::comm.rs and libstd::comm.rs ↵reedlepee-2/+2
#8180
2013-10-28std: Move the SendDeferred trait to std::commBrian Anderson-1/+6
2013-10-19Make fields in std::comm privatechitra-6/+6
2013-09-14Add SharedPort wrapper around rt::comm::SharedPortFlavio Percoco-9/+38
SharedPort implementation was missing in std::comm. Since this module also wraps SharedChan, it makes sense to have SharedPort defined there as well.
2013-08-09Remove the C++ runtime. SayonaraBrian Anderson-556/+86
2013-08-07Forbid `priv` where it has no effectAlex Crichton-4/+4
This is everywhere except struct fields and enum variants.
2013-08-04Remove old tests and code for `select`Brian Anderson-108/+2
Not compatible with newsched
2013-08-02Add SendDeferred trait and use it to fix #8214.Ben Blum-0/+30
2013-07-31std: Remove PortSet. Not supported by new scheduler. Replace uses with ↵Brian Anderson-81/+2
SharedChan.
2013-07-27Change concurrency primitives to standard naming conventionsSteven Stewart-Gallus-2/+2
To be more specific: `UPPERCASETYPE` was changed to `UppercaseType` `type_new` was changed to `Type::new` `type_function(value)` was changed to `value.method()`
2013-07-20Use Option .take() or .take_unwrap() instead of util::replace where possibleblake2-ppc-12/+7
2013-07-19std: Remove old magic core modBrian Anderson-28/+28
2013-07-03Merge remote-tracking branch 'mozilla/master'Brian Anderson-50/+50
Conflicts: src/libextra/test.rs src/libstd/at_vec.rs src/libstd/cleanup.rs src/libstd/rt/comm.rs src/libstd/rt/global_heap.rs src/libstd/task/spawn.rs src/libstd/unstable/lang.rs src/libstd/vec.rs src/rt/rustrt.def.in src/test/run-pass/extern-pub.rs
2013-06-28librustc: Change "Owned" to "Send" everywherePatrick Walton-50/+50
2013-06-20std: Port SharedChan to newschedBrian Anderson-15/+25
2013-06-21libstd: cleanup warningsJames Miller-1/+0
2013-06-18replace #[inline(always)] with #[inline]. r=burningtree.Graydon Hoare-5/+5
2013-06-15rm vec::uniq_lenDaniel Micay-1/+1
2013-06-01Swap return value of pipes::init Fixes #4501Nick Desaulniers-6/+6
2013-06-01Remove all uses of `pub impl`. rs=stylePatrick Walton-12/+12
2013-05-30Require documentation by default for libstdAlex Crichton-0/+2
Adds documentation for various things that I understand. Adds #[allow(missing_doc)] for lots of things that I don't understand.
2013-05-29librustc: Redo the unsafe checker and make unsafe methods not callable from ↵Patrick Walton-8/+12
safe code
2013-05-22libstd: Rename libcore to libstd and libstd to libextra; update makefiles.Patrick Walton-54/+754
This only changes the directory names; it does not change the "real" metadata names.
2013-05-19Use assert_eq! rather than assert! where possibleCorey Richardson-2/+2
2013-05-08libcore: Remove mutable fields from pipesPatrick Walton-1/+1
2013-04-27only use #[no_core] in libcoreDaniel Micay-1/+0
2013-03-29librustc: Remove `fail_unless!`Patrick Walton-2/+2
2013-03-22libstd: Remove all uses of `pure` from libstd. rs=depurePatrick Walton-3/+3
2013-03-21librustc: Register new snapshotsPatrick Walton-3/+0
2013-03-20add stage3 markers where necessary for dist-snapGraydon Hoare-0/+1
2013-03-07librustc: Convert all uses of `assert` over to `fail_unless!`Patrick Walton-2/+2
2013-03-07De-implicit-self libstdBen Striegel-5/+5
2013-03-06Fix bug in coherence that causes all cross-crate impls to be regarded asNiko Matsakis-0/+21
inherent impls, not just those of the `impl Type` variety.
2013-03-04De-implicit-self libcoreBen Striegel-6/+6
2013-02-21core: Extract comm from pipes. #4742Brian Anderson-4/+4
2013-02-20librustc: Separate most trait bounds with '+'. rs=plussingPatrick Walton-6/+6
2013-02-15libstd: Get rid of `move`.Luqman Aden-6/+6
2013-02-14librustc: Replace `impl Type : Trait` with `impl Trait for Type`. ↵Patrick Walton-5/+5
rs=implflipping
2013-02-07Make ~fn non-copyable, make &fn copyable, split barefn/closure types,Niko Matsakis-3/+0
correct handling of moves for struct-record update. Part of #3678. Fixes #2828, #3904, #4719.
2013-01-31std: remove transitional codeTim Chevalier-7/+0
2013-01-29libstd: De-export libstd. rs=deexportPatrick Walton-2/+1
2013-01-29librustc: Disallow trait bounds in types, enumerations, and structure ↵Patrick Walton-1/+8
definitions. r=tjc
2013-01-08librustc: Make unqualified identifier searches terminate at the nearest ↵Patrick Walton-0/+3
module scope. r=tjc
2013-01-08Revert "librustc: Make unqualified identifier searches terminate at the ↵Patrick Walton-3/+0
nearest module scope. r=tjc" This reverts commit a8d37af2473da79be704c9ce2374f278c47177b6.
2013-01-08librustc: Make unqualified identifier searches terminate at the nearest ↵Patrick Walton-0/+3
module scope. r=tjc