rust/src
Alex Crichton e5d3e5180f std: Add support for an accept() timeout
This adds experimental support for timeouts when accepting sockets through
`TcpAcceptor::accept`. This does not add a separate `accept_timeout` function,
but rather it adds a `set_timeout` function instead. This second function is
intended to be used as a hard deadline after which all accepts will never block
and fail immediately.

This idea was derived from Go's SetDeadline() methods. We do not currently have
a robust time abstraction in the standard library, so I opted to have the
argument be a relative time in millseconds into the future. I believe a more
appropriate argument type is an absolute time, but this concept does not exist
yet (this is also why the function is marked #[experimental]).

The native support is built on select(), similarly to connect_timeout(), and the
green support is based on channel select and a timer.

cc #13523
2014-04-23 19:07:31 -07:00
..
compiler-rt@ed112ca1e4 Upgrade compiler-rt 2014-04-22 15:50:51 -07:00
compiletest auto merge of #13553 : aochagavia/rust/pr, r=alexcrichton 2014-04-21 10:01:38 -07:00
doc auto merge of #13597 : bjz/rust/float-api, r=brson 2014-04-22 22:01:32 -07:00
driver Snapshot cleanup 2014-03-23 09:45:13 -07:00
etc There are no 64-bit Windows snapshots yet, so we'll use 32-bit ones instead. 2014-04-22 15:50:50 -07:00
gyp@1e46da1000 Update bundled gyp 2013-12-28 10:42:25 -08:00
libarena Replace all ~"" with "".to_owned() 2014-04-18 17:25:34 -07:00
libbacktrace Bundle libbacktrace with the compiler 2014-03-11 21:02:34 -07:00
libcollections auto merge of #13653 : jbcrail/rust/fix-comment-mistakes, r=alexcrichton 2014-04-22 05:06:33 -07:00
libflate Remove some internal ~[] from several libraries. 2014-04-10 15:21:58 -07:00
libfourcc syntax: unify all MacResult's into a single trait. 2014-04-16 17:53:27 +10:00
libgetopts Replace all ~"" with "".to_owned() 2014-04-18 17:25:34 -07:00
libglob Replace all ~"" with "".to_owned() 2014-04-18 17:25:34 -07:00
libgreen Fixed Win64 build 2014-04-22 18:08:06 -07:00
libhexfloat add support for quadruple precision floating point 2014-04-22 20:47:28 -04:00
liblibc std: Add an experimental connect_timeout function 2014-04-19 00:47:14 -07:00
liblog Replace all ~"" with "".to_owned() 2014-04-18 17:25:34 -07:00
libnative std: Add support for an accept() timeout 2014-04-23 19:07:31 -07:00
libnum auto merge of #13597 : bjz/rust/float-api, r=brson 2014-04-22 22:01:32 -07:00
librand Have floating point functions take their parameters by value. 2014-04-19 10:44:08 +10:00
librustc auto merge of #13693 : thestinger/rust/mem, r=alexcrichton 2014-04-23 04:36:32 -07:00
librustdoc auto merge of #13398 : nick29581/rust/unsized-enum, r=nikomatsakis 2014-04-22 20:51:31 -07:00
librustuv std: Add support for an accept() timeout 2014-04-23 19:07:31 -07:00
libsemver Replace all ~"" with "".to_owned() 2014-04-18 17:25:34 -07:00
libserialize serialize: Remove errant println!'s from decode 2014-04-19 17:59:04 -07:00
libstd std: Add support for an accept() timeout 2014-04-23 19:07:31 -07:00
libsync Replace all ~"" with "".to_owned() 2014-04-18 17:25:34 -07:00
libsyntax auto merge of #13398 : nick29581/rust/unsized-enum, r=nikomatsakis 2014-04-22 20:51:31 -07:00
libterm Replace all ~"" with "".to_owned() 2014-04-18 17:25:34 -07:00
libtest auto merge of #13597 : bjz/rust/float-api, r=brson 2014-04-22 22:01:32 -07:00
libtime Replace all ~"" with "".to_owned() 2014-04-18 17:25:34 -07:00
liburl Replace all ~"" with "".to_owned() 2014-04-18 17:25:34 -07:00
libuuid Replace all ~"" with "".to_owned() 2014-04-18 17:25:34 -07:00
libuv@800b56fe6a Make priavcy checking aware that a use directive can point to two defintions (namespaces) with different privacy. Closes #4110 2014-02-19 14:47:10 +13:00
libworkcache Replace all ~"" with "".to_owned() 2014-04-18 17:25:34 -07:00
llvm@4b4d0533b4 Upgrade LLVM 2014-04-17 11:11:39 -07:00
rt Replace all ~"" with "".to_owned() 2014-04-18 17:25:34 -07:00
rustllvm rustc: Ensure closures are "split-stack" 2014-04-19 10:33:46 -07:00
test auto merge of #13398 : nick29581/rust/unsized-enum, r=nikomatsakis 2014-04-22 20:51:31 -07:00
README.md Update source code layout in src/ 2014-02-24 21:22:27 -08:00
snapshots.txt Register new snapshots 2014-04-16 08:24:22 -07:00

This is a preliminary version of the Rust compiler, libraries and tools.

Source layout:

Path Description
librustc/ The self-hosted compiler
libstd/ The standard library (imported and linked by default)
libextra/ The "extras" library (slightly more peripheral code)
libgreen/ The M:N runtime library
libnative/ The 1:1 runtime library
libsyntax/ The Rust parser and pretty-printer
libcollections/ A collection of useful data structures and containers
libnum/ Extended number support library (complex, rational, etc)
libtest/ Rust's test-runner code
------------------- ---------------------------------------------------------
libarena/ The arena (a fast but limited) memory allocator
libflate/ Simple compression library
libfourcc/ Data format identifier library
libgetopts/ Get command-line-options library
libglob/ Unix glob patterns library
libsemver/ Rust's semantic versioning library
libserialize/ Encode-Decode types library
libsync/ Concurrency mechanisms and primitives
libterm/ ANSI color library for terminals
libtime/ Time operations library
libuuid/ UUID's handling code
------------------- ---------------------------------------------------------
rt/ The runtime system
rt/rust_*.c - Some of the runtime services
rt/vg - Valgrind headers
rt/msvc - MSVC support
rt/sundown - The Markdown library used by rustdoc
------------------- ---------------------------------------------------------
compiletest/ The test runner
test/ Testsuite
test/codegen - Tests for the LLVM IR infrastructure
test/compile-fail - Tests that should fail to compile
test/debug-info - Tests for the debuginfo tool
test/run-fail - Tests that should compile, run and fail
test/run-make - Tests that depend on a Makefile infrastructure
test/run-pass - Tests that should compile, run and succeed
test/bench - Benchmarks and miscellaneous
test/pretty - Pretty-printer tests
test/auxiliary - Dependencies of tests
------------------- ---------------------------------------------------------
librustdoc/ The Rust API documentation tool
libuv/ The libuv submodule
librustuv/ Rust libuv support code
------------------- ---------------------------------------------------------
llvm/ The LLVM submodule
rustllvm/ LLVM support code
------------------- ---------------------------------------------------------
etc/ Scripts, editors support, misc

NOTE: This list (especially the second part of the table which contains modules and libraries) is highly volatile and subject to change.