rust/src/libstd
Alex Crichton 56cae9b3c0 comm: Implement synchronous channels
This commit contains an implementation of synchronous, bounded channels for
Rust. This is an implementation of the proposal made last January [1]. These
channels are built on mutexes, and currently focus on a working implementation
rather than speed. Receivers for sync channels have select() implemented for
them, but there is currently no implementation of select() for sync senders.

Rust will continue to provide both synchronous and asynchronous channels as part
of the standard distribution, there is no intent to remove asynchronous
channels. This flavor of channels is meant to provide an alternative to
asynchronous channels because like green tasks, asynchronous channels are not
appropriate for all situations.

[1] - https://mail.mozilla.org/pipermail/rust-dev/2014-January/007924.html
2014-03-24 20:06:37 -07:00
..
comm comm: Implement synchronous channels 2014-03-24 20:06:37 -07:00
fmt use TotalEq for HashMap 2014-03-23 01:59:11 -04:00
hash rustc: Remove all usage of manual deref() 2014-03-22 08:48:34 -07:00
io comm: Implement synchronous channels 2014-03-24 20:06:37 -07:00
num rename std::vec -> std::slice 2014-03-20 01:30:27 -04:00
path auto merge of #13090 : thestinger/rust/iter, r=Aatch 2014-03-23 02:41:53 -07:00
rt comm: Implement synchronous channels 2014-03-24 20:06:37 -07:00
sync std: Unignore atomic tests 2014-03-24 17:17:46 -07:00
unstable comm: Implement synchronous channels 2014-03-24 20:06:37 -07:00
any.rs
ascii.rs iter: remove to_owned_vec 2014-03-23 05:41:23 -04:00
bool.rs
c_str.rs rename std::vec -> std::slice 2014-03-20 01:30:27 -04:00
c_vec.rs
cast.rs Remove std::cast::transmute_immut_unsafe 2014-03-19 16:15:22 +01:00
cell.rs auto merge of #13076 : FlaPer87/rust/remove-freeze, r=alexcrichton 2014-03-22 13:01:52 -07:00
char.rs
cleanup.rs log: Introduce liblog, the old std::logging 2014-03-15 22:26:36 -07:00
clone.rs Made the clone_from implementation for ~T reuse the T itself if 2014-03-18 16:29:57 -07:00
cmp.rs std: remove the equals method from TotalEq. 2014-03-23 23:48:10 +11:00
container.rs
default.rs
from_str.rs
gc.rs Remove RefCell::{with, with_mut} 2014-03-20 19:55:52 -07:00
intrinsics.rs Snapshot cleanup 2014-03-23 09:45:13 -07:00
iter.rs auto merge of #13102 : huonw/rust/totaleq-deriving, r=thestinger 2014-03-23 08:36:51 -07:00
kinds.rs Register new snapshots 2014-03-23 11:37:31 +01:00
lib.rs Register new snapshots 2014-03-23 11:37:31 +01:00
libc.rs rustdoc: Implement cross-crate searching 2014-03-18 13:51:29 -07:00
local_data.rs rename std::vec -> std::slice 2014-03-20 01:30:27 -04:00
macros.rs rename std::vec_ng -> std::vec 2014-03-20 04:25:32 -04:00
managed.rs std: remove the equals method from TotalEq. 2014-03-23 23:48:10 +11:00
mem.rs Doc-sprint: Document endian conversion functions 2014-03-16 15:57:16 -07:00
ops.rs Register new snapshots 2014-03-20 11:02:26 -07:00
option.rs rustc: Remove all usage of manual deref() 2014-03-22 08:48:34 -07:00
os.rs std::os: Handle FormatMessage failure 2014-03-22 23:57:13 +09:00
owned.rs std: remove the equals method from TotalEq. 2014-03-23 23:48:10 +11:00
prelude.rs comm: Implement synchronous channels 2014-03-24 20:06:37 -07:00
ptr.rs use TotalEq for HashMap 2014-03-23 01:59:11 -04:00
raw.rs
rc.rs use TotalEq for HashMap 2014-03-23 01:59:11 -04:00
reference.rs std: remove the equals method from TotalEq. 2014-03-23 23:48:10 +11:00
reflect.rs
repr.rs rename std::vec -> std::slice 2014-03-20 01:30:27 -04:00
result.rs
rtdeps.rs
slice.rs auto merge of #13102 : huonw/rust/totaleq-deriving, r=thestinger 2014-03-23 08:36:51 -07:00
str.rs auto merge of #13102 : huonw/rust/totaleq-deriving, r=thestinger 2014-03-23 08:36:51 -07:00
task.rs log: Introduce liblog, the old std::logging 2014-03-15 22:26:36 -07:00
to_str.rs
tuple.rs std: remove the equals method from TotalEq. 2014-03-23 23:48:10 +11:00
ty.rs Register new snapshots 2014-03-23 11:37:31 +01:00
unicode.rs rename std::vec -> std::slice 2014-03-20 01:30:27 -04:00
unit.rs std: remove the equals method from TotalEq. 2014-03-23 23:48:10 +11:00
vec.rs comm: Implement synchronous channels 2014-03-24 20:06:37 -07:00