summary refs log tree commit diff
path: root/src/libstd
AgeCommit message (Collapse)AuthorLines
2012-06-29rename net::ip tests en masseJeff Olson-6/+6
2012-06-29std: fix errors from recent rebase and vec expr/type syntax updateJeff Olson-36/+34
2012-06-29std: addressing #2656 (ipv6 support in net::tcp)Jeff Olson-27/+68
.. there are some additional FIXME nags in net_tcp (L 1012) about blocking because libuv is holding unsafe ptrs to task local data. the proposed fix going is not really feasible w/ the current design, IMO, but i'll leave it there in case someone really wants to make the case without creating more hassle than it's worth.
2012-06-29std: add test for net::ip::get_addr failureJeff Olson-0/+10
2012-06-29std: beef up ipv4 validation a bitJeff Olson-7/+55
now the best of what we had prior to libuv integration (proper validation of an ipv4 string), along with libuv support (initial ipv6 support) libuv has even weaker facilities for validating an input ipv6 (but still more than what we had), so eventually the "right" answer would be to roll a proper ipv6 address string parser in rust
2012-06-29std: add uv::ll::is_ipv6_addrinfo and get_INADDR_NONEJeff Olson-0/+8
2012-06-29std: whitespace/comment cleanJeff Olson-29/+14
2012-06-29std: net::ip::get_addr is working w/ happy path test. needs more.Jeff Olson-32/+77
2012-06-29WIP set aside unshiftJeff Olson-1/+3
2012-06-29std: roughcut impl of net::ip::get_addr()Jeff Olson-1/+98
still needs tests
2012-06-29std: wire-up low-level bindings to libuv's uv_getaddrinfo API and friendsJeff Olson-3/+33
2012-06-29std: mapped addrinfo, addr_in and uv_getaddrinfo_t as rust recordsJeff Olson-2/+78
2012-06-29std: adding net::ip::v6 utils and rudimentary tests, huzzah! (see caveats)Jeff Olson-8/+107
libuv's own ip vetting code appears to in a somewhat woeful state, for both ipv4 and ipv6 (there are some notes in the tests for net_ip, as well as stuff added in uv_ll). They are aware of this and welcome patches. I have rudimentary code in place that can verify whether the provided str ip was, in fact, validly parsed by libuv, making a few assumptions: * for ipv4, we assume that the platform's INADDR_NONE val is 0xffffffff , I should write a helper to return this value from the platform's libc headers instead of hard-coding it in rust. * for ipv6, we assume that the library will always return '::' for malformed inputs.. as is the case in 64bit ubuntu. I need to verify this on other platforms.. but at least the debugging output is in place, so if expectations don't line up, it'll be straightforward to address
2012-06-29std: getting uv_ip6_* utils working in uv::llJeff Olson-4/+22
.. stub out some brokeness in net::tcp as a result of ipv6 coming online
2012-06-29std: adding uv::ll::ip4_name and refactored net::ip to use itJeff Olson-35/+55
replaces net::ip's previously, hand-rolled impl for ipv4 addr parsing.. we're relying on libuv, now
2012-06-29std: mapping additional libuv ip string helpers.. add test for sockaddr_in6Jeff Olson-2/+35
.. but the test is kind of broken.. it appears that rust pads structs for alignment purposes? I can't get the struct to == 28.. that appears to be the native size of sockaddr_in6.. so we have a size 32 struct, for now.
2012-06-29core: str::as_slice is unneeded, yay! fixes std::net::tcp socket_buf testJeff Olson-7/+5
i mistook an "unconstrained type" error, due to type-inference messup because i didnt have return vals in some closure wired-up right, for being due to not having a str as a str/& (a str will actually auto-coerce to a str/&, so str::as_slice was erroneously added. my bad).
2012-06-29std: test impl for using tcp_socket_buf and its reader/writer impls. fails.Jeff Olson-5/+91
needs work. probably the slice code and/or the way that the tcp_socket_buf is wrapped in a shared box
2012-06-29std: renaming impl for tcp_socket and reshuffle/cleanup for tcp_socket_bufJeff Olson-5/+3
2012-06-29std: finish impl of io::writer for tcp_socket_bufJeff Olson-4/+7
2012-06-29std: rework signature of tcp::write common impl to make io::writer possibleJeff Olson-1/+1
2012-06-29std: add buffered wrapper to tcp_socket + io::reader impl. no tests, yet.Jeff Olson-0/+106
need to do some other work, in the subsequent commit, to add io::writer, then tests.
2012-06-29std: doc and misc cleanup in net::tcpJeff Olson-21/+35
* updated rustdoc info for several functions * changed read_stop to take control of the port returned by read_start * made write_future do an explicit data copy with the binary vector it is passed
2012-06-29std: EADDRINUSE and EACCES err tests for tcp server + more cleanupJeff Olson-322/+278
.. confounded resolve!
2012-06-29std: factor main body of tcp::listen into reusable listen_commonJeff Olson-5/+19
2012-06-29std: some cleanup in net::tcp rename listen_to_conn->listenJeff Olson-29/+30
2012-06-29std: dump the tcp::new_listener server APIJeff Olson-202/+7
2012-06-29std: mod cleanup, impl/test for conn. refused err + mem leak fixJeff Olson-35/+100
2012-06-29std: import/export cleanup in net_tcpJeff Olson-41/+45
2012-06-29std: kludge export of net_ip in std.rc until submodule export is sortedJeff Olson-1/+1
2012-06-28Fix sys::refcount and remove dbg::refcountBen Blum-6/+0
2012-06-27Replace more vector additions (issue #2719)Eric Holk-11/+11
2012-06-27Add an overloaded [] function to the map interface. Closes #2730.Michael Sullivan-0/+8
2012-06-26Change 'native' and 'crust' to 'extern'.Graydon Hoare-23/+23
This comes with a terminology change. All linkage-symbols are 'extern' now, including rust syms in other crates. Some extern ABIs are merely "foreign". The term "native" is retired, not clear/useful. What was "crust" is now "extern" applied to a _definition_. This is a bit of an overloading, but should be unambiguous: it means that the definition should be made available to some non-rust ABI.
2012-06-26libstd: Work around some metadata infelicities that are causing problems in ↵Patrick Walton-7/+9
resolve3, and remove an unused glob Conflicts: src/libstd/net_tcp.rs src/libstd/par.rs
2012-06-26perf: improved the core-std benchmarkEric Holk-1/+1
2012-06-25Make vectors uglier ([]/~). Sorry. Should be temporary. Closes #2725.Michael Sullivan-376/+379
2012-06-25Some perf fixes, although vec::slice is still too slow (Issue #2719)Eric Holk-3/+3
2012-06-25MergeTim Chevalier-10/+11
2012-06-25Improved graph500 performance (Issue #2719)Eric Holk-2/+3
2012-06-22core: Name is_failure to is_err, is_success to is_okBrian Anderson-8/+8
2012-06-22Change resources to classes in libstd and rustcTim Chevalier-34/+47
2012-06-21Tag all remaining FIXMEs with bugs. Install rule in tidy script to enforce this.Graydon Hoare-53/+44
2012-06-21Library vecs are fast now.Eric Holk-0/+2
2012-06-21Move vector addition out of trans and into libcore.Eric Holk-3/+3
2012-06-20Comments only: typosTim Chevalier-1/+1
2012-06-20Remove bind. Issue #2189Brian Anderson-8/+8
2012-06-19Moved arc to libcore and added an arc that allows shared mutable state ↵Eric Holk-165/+1
through mutual exclusion.
2012-06-18std: Use the singular 'test' when running just 1. Closes #2554Brian Anderson-1/+2
2012-06-16Revert "Moved arc to libstd and added an arc that allows shared mutable ↵Tim Chevalier-1/+165
state through mutual exclusion." This reverts commit 015527b0cee0bc5cfaac8dd610035a0c1b2f8ea6.