rust/src
Eric Reed 58b2ff9f56 Split out starting a listener from accepting incoming connections.
The Listener trait takes two type parameters, the type of connection and the type of Acceptor,
and specifies only one method, listen, which consumes the listener and produces an Acceptor.

The Acceptor trait takes one type parameter, the type of connection, and defines two methods.
The accept() method waits for an incoming connection attempt and returns the result.
The incoming() method creates an iterator over incoming connections and is a default method.

Example:

let listener = TcpListener.bind(addr); // Bind to a socket
let acceptor = listener.listen(); // Start the listener
for stream in acceptor.incoming() {
    // Process incoming connections forever (or until you break out of the loop)
}
2013-06-23 00:03:11 -07:00
..
compiletest auto merge of #8458 : cmr/rust/test-restructure, r=brson 2013-08-29 18:45:47 -07:00
driver Bring compiletest/rustpkg/driver up to date on std vs core 2013-07-04 16:30:48 -07:00
etc auto merge of #8830 : andersk/rust/indent-4, r=catamorphism 2013-08-29 03:10:42 -07:00
libextra Make the unit-test framework check RUST_TEST_TASKS over RUST_THREADS. 2013-08-29 11:17:09 +10:00
librust removed os::set_args, closing #8325 2013-08-23 10:26:37 +08:00
librustc auto merge of #8718 : bblum/rust/typeof, r=pcwalton 2013-08-28 15:30:38 -07:00
librustdoc Revert "auto merge of #8645 : alexcrichton/rust/issue-6436-run-non-blocking, r=brson" 2013-08-29 14:23:44 -07:00
librusti removed os::set_args, closing #8325 2013-08-23 10:26:37 +08:00
librustpkg Revert "auto merge of #8645 : alexcrichton/rust/issue-6436-run-non-blocking, r=brson" 2013-08-29 14:23:44 -07:00
libstd Split out starting a listener from accepting incoming connections. 2013-06-23 00:03:11 -07:00
libsyntax auto merge of #8718 : bblum/rust/typeof, r=pcwalton 2013-08-28 15:30:38 -07:00
libuv@dfae9c3e95 Revert "auto merge of #8645 : alexcrichton/rust/issue-6436-run-non-blocking, r=brson" 2013-08-29 14:23:44 -07:00
llvm@08a3bd96ee Enable segmented stacks for llvm on mingw-64 2013-08-28 20:44:46 -07:00
rt Revert "auto merge of #8645 : alexcrichton/rust/issue-6436-run-non-blocking, r=brson" 2013-08-29 14:23:44 -07:00
rustllvm Revert "auto merge of #8695 : thestinger/rust/build, r=pcwalton" 2013-08-28 19:59:52 -07:00
test auto merge of #8458 : cmr/rust/test-restructure, r=brson 2013-08-29 18:45:47 -07:00
README.txt Update doc references to new names for std, extra, and std::libc 2013-06-16 23:26:08 -07:00
snapshots.txt register new snapshots 2013-08-14 18:45:51 -07:00

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

Source layout:

librustc/          The self-hosted compiler

libstd/            The standard library (imported and linked by default)
libextra/          The "extras" library (slightly more peripheral code)
libsyntax/         The Rust parser and pretty-printer

rt/                The runtime system
rt/rust_*.cpp      - The majority of the runtime services
rt/isaac           - The PRNG used for pseudo-random choices in the runtime
rt/bigint          - The bigint library used for the 'big' type
rt/uthash          - Small hashtable-and-list library for C, used in runtime
rt/sync            - Concurrency utils
rt/util            - Small utility classes for the runtime.
rt/vg              - Valgrind headers
rt/msvc            - MSVC support
rt/linenoise       - a readline-like line editing library

test/              Testsuite
test/compile-fail  - Tests that should fail to compile
test/run-fail      - Tests that should compile, run and fail
test/run-pass      - Tests that should compile, run and succeed
test/bench         - Benchmarks and miscellanea
test/pretty        - Pretty-printer tests
test/auxiliary     - Dependencies of tests

compiletest/       The test runner

librustpkg/        The package manager and build system

librusti/          The JIT REPL

librustdoc/        The Rust API documentation tool

llvm/              The LLVM submodule

libuv/             The libuv submodule

rustllvm/          LLVM support code

libfuzzer/         A collection of fuzz testers

etc/               Scripts, editor support, misc