Skip to content

Commit f74484c

Browse files
committed
---
yaml --- r: 16047 b: refs/heads/try c: 81b8e20 h: refs/heads/master i: 16045: fdf9a8c 16043: 8a09ef9 16039: b177a8c 16031: 9f3029a v: v3
1 parent ba16e64 commit f74484c

File tree

7 files changed

+157
-159
lines changed

7 files changed

+157
-159
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@
22
refs/heads/master: 61b1875c16de39c166b0f4d54bba19f9c6777d1a
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
44
refs/heads/snap-stage3: 4a81779abd786ff22d71434c6d9a5917ea4cdfff
5-
refs/heads/try: 59262dfc6280b81f56129aaa6deaf2f74c63efa6
5+
refs/heads/try: 81b8e20f31dbc5b2e985ba4109bf86fe6e06f2e2
66
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105

branches/try/src/libstd/net_tcp.rs

Lines changed: 39 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ High-level interface to libuv's TCP functionality
44

55
// FIXME: Fewer import *'s
66
import ip = net_ip;
7+
import uv::iotask;
8+
import uv::iotask::iotask;
79
import comm::*;
810
import result::*;
911
import str::*;
@@ -44,7 +46,7 @@ resource tcp_socket(socket_data: @tcp_socket_data)
4446
};
4547
let close_data_ptr = ptr::addr_of(close_data);
4648
let stream_handle_ptr = (*socket_data).stream_handle_ptr;
47-
uv::hl::interact((*socket_data).hl_loop) {|loop_ptr|
49+
iotask::interact((*socket_data).iotask) {|loop_ptr|
4850
log(debug, #fmt("interact dtor for tcp_socket stream %? loop %?",
4951
stream_handle_ptr, loop_ptr));
5052
uv::ll::set_data_for_uv_handle(stream_handle_ptr,
@@ -62,8 +64,8 @@ resource tcp_conn_port(conn_data: @tcp_conn_port_data) unsafe {
6264
let conn_data_ptr = ptr::addr_of(*conn_data);
6365
let server_stream_ptr = ptr::addr_of((*conn_data_ptr).server_stream);
6466
let stream_closed_po = (*conn_data).stream_closed_po;
65-
let hl_loop = (*conn_data_ptr).hl_loop;
66-
uv::hl::interact(hl_loop) {|loop_ptr|
67+
let iotask = (*conn_data_ptr).iotask;
68+
iotask::interact(iotask) {|loop_ptr|
6769
log(debug, #fmt("dtor for tcp_conn_port loop: %?",
6870
loop_ptr));
6971
uv::ll::close(server_stream_ptr, tcp_nl_close_cb);
@@ -86,7 +88,7 @@ Initiate a client connection over TCP/IP
8688
8789
* `ip` - The IP address (versions 4 or 6) of the remote host
8890
* `port` - the unsigned integer of the desired remote host port
89-
* `hl_loop` - a `uv::hl::high_level_loop` that the tcp request will run on
91+
* `iotask` - a `uv::iotask` that the tcp request will run on
9092
9193
# Returns
9294
@@ -95,7 +97,7 @@ can be used to send and receive data to/from the remote host. In the event
9597
of failure, a `tcp_err_data` will be returned
9698
"]
9799
fn connect(input_ip: ip::ip_addr, port: uint,
98-
hl_loop: uv::hl::high_level_loop)
100+
iotask: iotask)
99101
-> result::result<tcp_socket, tcp_err_data> unsafe {
100102
let result_po = comm::port::<conn_attempt>();
101103
let closed_signal_po = comm::port::<()>();
@@ -113,15 +115,15 @@ fn connect(input_ip: ip::ip_addr, port: uint,
113115
stream_handle_ptr: stream_handle_ptr,
114116
connect_req: uv::ll::connect_t(),
115117
write_req: uv::ll::write_t(),
116-
hl_loop: hl_loop
118+
iotask: iotask
117119
};
118120
let socket_data_ptr = ptr::addr_of(*socket_data);
119121
log(debug, #fmt("tcp_connect result_ch %?", conn_data.result_ch));
120122
// get an unsafe representation of our stream_handle_ptr that
121123
// we can send into the interact cb to be handled in libuv..
122124
log(debug, #fmt("stream_handle_ptr outside interact %?",
123125
stream_handle_ptr));
124-
uv::hl::interact(hl_loop) {|loop_ptr|
126+
iotask::interact(iotask) {|loop_ptr|
125127
log(debug, "in interact cb for tcp client connect..");
126128
log(debug, #fmt("stream_handle_ptr in interact %?",
127129
stream_handle_ptr));
@@ -354,7 +356,7 @@ to listen for, and accept, new connections, or a `tcp_err_data` if
354356
failure to create the tcp listener occurs
355357
"]
356358
fn new_listener(host_ip: ip::ip_addr, port: uint, backlog: uint,
357-
hl_loop: uv::hl::high_level_loop)
359+
iotask: iotask)
358360
-> result::result<tcp_conn_port, tcp_err_data> unsafe {
359361
let stream_closed_po = comm::port::<()>();
360362
let stream_closed_ch = comm::chan(stream_closed_po);
@@ -367,7 +369,7 @@ fn new_listener(host_ip: ip::ip_addr, port: uint, backlog: uint,
367369
server_stream: uv::ll::tcp_t(),
368370
stream_closed_po: stream_closed_po,
369371
stream_closed_ch: stream_closed_ch,
370-
hl_loop: hl_loop,
372+
iotask: iotask,
371373
new_conn_po: new_conn_po,
372374
new_conn_ch: new_conn_ch
373375
};
@@ -377,7 +379,7 @@ fn new_listener(host_ip: ip::ip_addr, port: uint, backlog: uint,
377379

378380
let setup_po = comm::port::<option<tcp_err_data>>();
379381
let setup_ch = comm::chan(setup_po);
380-
uv::hl::interact(hl_loop) {|loop_ptr|
382+
iotask::interact(iotask) {|loop_ptr|
381383
let tcp_addr = ipv4_ip_addr_to_sockaddr_in(host_ip,
382384
port);
383385
alt uv::ll::tcp_init(loop_ptr, server_stream_ptr) {
@@ -445,11 +447,11 @@ variant
445447
fn conn_recv(server_port: tcp_conn_port)
446448
-> result::result<tcp_socket, tcp_err_data> {
447449
let new_conn_po = (**server_port).new_conn_po;
448-
let hl_loop = (**server_port).hl_loop;
450+
let iotask = (**server_port).iotask;
449451
let new_conn_result = comm::recv(new_conn_po);
450452
alt new_conn_result {
451453
ok(client_stream_ptr) {
452-
conn_port_new_tcp_socket(client_stream_ptr, hl_loop)
454+
conn_port_new_tcp_socket(client_stream_ptr, iotask)
453455
}
454456
err(err_data) {
455457
result::err(err_data)
@@ -476,12 +478,12 @@ once a new connection is recv'd. Its parameter:
476478
fn conn_recv_spawn(server_port: tcp_conn_port,
477479
cb: fn~(result::result<tcp_socket, tcp_err_data>)) {
478480
let new_conn_po = (**server_port).new_conn_po;
479-
let hl_loop = (**server_port).hl_loop;
481+
let iotask = (**server_port).iotask;
480482
let new_conn_result = comm::recv(new_conn_po);
481483
task::spawn {||
482484
let sock_create_result = alt new_conn_result {
483485
ok(client_stream_ptr) {
484-
conn_port_new_tcp_socket(client_stream_ptr, hl_loop)
486+
conn_port_new_tcp_socket(client_stream_ptr, iotask)
485487
}
486488
err(err_data) {
487489
result::err(err_data)
@@ -582,7 +584,7 @@ fn accept(new_conn: tcp_new_connection)
582584
let server_data_ptr = uv::ll::get_data_for_uv_handle(
583585
server_handle_ptr) as *tcp_listen_fc_data;
584586
let reader_po = comm::port::<result::result<[u8], tcp_err_data>>();
585-
let hl_loop = (*server_data_ptr).hl_loop;
587+
let iotask = (*server_data_ptr).iotask;
586588
let stream_handle_ptr = malloc_uv_tcp_t();
587589
*(stream_handle_ptr as *mut uv::ll::uv_tcp_t) = uv::ll::tcp_t();
588590
let client_socket_data = @{
@@ -591,7 +593,7 @@ fn accept(new_conn: tcp_new_connection)
591593
stream_handle_ptr : stream_handle_ptr,
592594
connect_req : uv::ll::connect_t(),
593595
write_req : uv::ll::write_t(),
594-
hl_loop: hl_loop
596+
iotask : iotask
595597
};
596598
let client_socket_data_ptr = ptr::addr_of(*client_socket_data);
597599
let client_stream_handle_ptr =
@@ -677,7 +679,7 @@ successful/normal shutdown, and a `tcp_err_data` record in the event
677679
of listen exiting because of an error
678680
"]
679681
fn listen_for_conn(host_ip: ip::ip_addr, port: uint, backlog: uint,
680-
hl_loop: uv::hl::high_level_loop,
682+
iotask: iotask,
681683
on_establish_cb: fn~(comm::chan<option<tcp_err_data>>),
682684
new_connect_cb: fn~(tcp_new_connection,
683685
comm::chan<option<tcp_err_data>>))
@@ -692,14 +694,14 @@ fn listen_for_conn(host_ip: ip::ip_addr, port: uint, backlog: uint,
692694
stream_closed_ch: comm::chan(stream_closed_po),
693695
kill_ch: kill_ch,
694696
new_connect_cb: new_connect_cb,
695-
hl_loop: hl_loop,
697+
iotask: iotask,
696698
mut active: true
697699
};
698700
let server_data_ptr = ptr::addr_of(server_data);
699701

700702
let setup_po = comm::port::<option<tcp_err_data>>();
701703
let setup_ch = comm::chan(setup_po);
702-
uv::hl::interact(hl_loop) {|loop_ptr|
704+
iotask::interact(iotask) {|loop_ptr|
703705
let tcp_addr = ipv4_ip_addr_to_sockaddr_in(host_ip,
704706
port);
705707
alt uv::ll::tcp_init(loop_ptr, server_stream_ptr) {
@@ -745,7 +747,7 @@ fn listen_for_conn(host_ip: ip::ip_addr, port: uint, backlog: uint,
745747
none {
746748
on_establish_cb(kill_ch);
747749
let kill_result = comm::recv(kill_po);
748-
uv::hl::interact(hl_loop) {|loop_ptr|
750+
iotask::interact(iotask) {|loop_ptr|
749751
log(debug, #fmt("tcp::listen post-kill recv hl interact %?",
750752
loop_ptr));
751753
(*server_data_ptr).active = false;
@@ -811,7 +813,7 @@ impl sock_methods for tcp_socket {
811813
fn read_common_impl(socket_data: *tcp_socket_data, timeout_msecs: uint)
812814
-> result::result<[u8],tcp_err_data> unsafe {
813815
log(debug, "starting tcp::read");
814-
let hl_loop = (*socket_data).hl_loop;
816+
let iotask = (*socket_data).iotask;
815817
let rs_result = read_start_common_impl(socket_data);
816818
if result::is_failure(rs_result) {
817819
let err_data = result::get_err(rs_result);
@@ -821,7 +823,7 @@ fn read_common_impl(socket_data: *tcp_socket_data, timeout_msecs: uint)
821823
log(debug, "tcp::read before recv_timeout");
822824
let read_result = if timeout_msecs > 0u {
823825
timer::recv_timeout(
824-
hl_loop, timeout_msecs, result::get(rs_result))
826+
iotask, timeout_msecs, result::get(rs_result))
825827
} else {
826828
some(comm::recv(result::get(rs_result)))
827829
};
@@ -851,7 +853,7 @@ fn read_stop_common_impl(socket_data: *tcp_socket_data) ->
851853
let stream_handle_ptr = (*socket_data).stream_handle_ptr;
852854
let stop_po = comm::port::<option<tcp_err_data>>();
853855
let stop_ch = comm::chan(stop_po);
854-
uv::hl::interact((*socket_data).hl_loop) {|loop_ptr|
856+
iotask::interact((*socket_data).iotask) {|loop_ptr|
855857
log(debug, "in interact cb for tcp::read_stop");
856858
alt uv::ll::read_stop(stream_handle_ptr as *uv::ll::uv_stream_t) {
857859
0i32 {
@@ -883,7 +885,7 @@ fn read_start_common_impl(socket_data: *tcp_socket_data)
883885
let start_po = comm::port::<option<uv::ll::uv_err_data>>();
884886
let start_ch = comm::chan(start_po);
885887
log(debug, "in tcp::read_start before interact loop");
886-
uv::hl::interact((*socket_data).hl_loop) {|loop_ptr|
888+
iotask::interact((*socket_data).iotask) {|loop_ptr|
887889
log(debug, #fmt("in tcp::read_start interact cb %?", loop_ptr));
888890
alt uv::ll::read_start(stream_handle_ptr as *uv::ll::uv_stream_t,
889891
on_alloc_cb,
@@ -925,7 +927,7 @@ fn write_common_impl(socket_data_ptr: *tcp_socket_data,
925927
result_ch: comm::chan(result_po)
926928
};
927929
let write_data_ptr = ptr::addr_of(write_data);
928-
uv::hl::interact((*socket_data_ptr).hl_loop) {|loop_ptr|
930+
iotask::interact((*socket_data_ptr).iotask) {|loop_ptr|
929931
log(debug, #fmt("in interact cb for tcp::write %?", loop_ptr));
930932
alt uv::ll::write(write_req_ptr,
931933
stream_handle_ptr,
@@ -956,7 +958,7 @@ fn write_common_impl(socket_data_ptr: *tcp_socket_data,
956958
// various recv_* can use a tcp_conn_port can re-use this..
957959
fn conn_port_new_tcp_socket(
958960
stream_handle_ptr: *uv::ll::uv_tcp_t,
959-
hl_loop: uv::hl::high_level_loop)
961+
iotask: iotask)
960962
-> result::result<tcp_socket,tcp_err_data> unsafe {
961963
// tcp_nl_on_connection_cb
962964
let reader_po = comm::port::<result::result<[u8], tcp_err_data>>();
@@ -966,11 +968,11 @@ fn conn_port_new_tcp_socket(
966968
stream_handle_ptr : stream_handle_ptr,
967969
connect_req : uv::ll::connect_t(),
968970
write_req : uv::ll::write_t(),
969-
hl_loop : hl_loop
971+
iotask : iotask
970972
};
971973
let client_socket_data_ptr = ptr::addr_of(*client_socket_data);
972974
comm::listen {|cont_ch|
973-
uv::hl::interact(hl_loop) {|loop_ptr|
975+
iotask::interact(iotask) {|loop_ptr|
974976
log(debug, #fmt("in interact cb 4 conn_port_new_tcp.. loop %?",
975977
loop_ptr));
976978
uv::ll::set_data_for_uv_handle(stream_handle_ptr,
@@ -990,7 +992,7 @@ type tcp_conn_port_data = {
990992
server_stream: uv::ll::uv_tcp_t,
991993
stream_closed_po: comm::port<()>,
992994
stream_closed_ch: comm::chan<()>,
993-
hl_loop: uv::hl::high_level_loop,
995+
iotask: iotask,
994996
new_conn_po: comm::port<result::result<*uv::ll::uv_tcp_t,
995997
tcp_err_data>>,
996998
new_conn_ch: comm::chan<result::result<*uv::ll::uv_tcp_t,
@@ -1003,7 +1005,7 @@ type tcp_listen_fc_data = {
10031005
kill_ch: comm::chan<option<tcp_err_data>>,
10041006
new_connect_cb: fn~(tcp_new_connection,
10051007
comm::chan<option<tcp_err_data>>),
1006-
hl_loop: uv::hl::high_level_loop,
1008+
iotask: iotask,
10071009
mut active: bool
10081010
};
10091011

@@ -1264,7 +1266,7 @@ type tcp_socket_data = {
12641266
stream_handle_ptr: *uv::ll::uv_tcp_t,
12651267
connect_req: uv::ll::uv_connect_t,
12661268
write_req: uv::ll::uv_write_t,
1267-
hl_loop: uv::hl::high_level_loop
1269+
iotask: iotask
12681270
};
12691271

12701272
// convert rust ip_addr to libuv's native representation
@@ -1405,13 +1407,13 @@ mod test {
14051407
fn run_tcp_test_server(server_ip: str, server_port: uint, resp: str,
14061408
server_ch: comm::chan<str>,
14071409
cont_ch: comm::chan<()>,
1408-
hl_loop: uv::hl::high_level_loop) -> str {
1410+
iotask: iotask) -> str {
14091411

14101412
task::spawn_sched(task::manual_threads(1u)) {||
14111413
let server_ip_addr = ip::v4::parse_addr(server_ip);
14121414
let listen_result =
14131415
listen_for_conn(server_ip_addr, server_port, 128u,
1414-
hl_loop,
1416+
iotask,
14151417
// on_establish_cb -- called when listener is set up
14161418
{|kill_ch|
14171419
log(debug, #fmt("establish_cb %?",
@@ -1484,12 +1486,12 @@ mod test {
14841486
server_port: uint, resp: str,
14851487
server_ch: comm::chan<str>,
14861488
cont_ch: comm::chan<()>,
1487-
hl_loop: uv::hl::high_level_loop) -> str {
1489+
iotask: iotask) -> str {
14881490

14891491
task::spawn_sched(task::manual_threads(1u)) {||
14901492
let server_ip_addr = ip::v4::parse_addr(server_ip);
14911493
let new_listener_result =
1492-
new_listener(server_ip_addr, server_port, 128u, hl_loop);
1494+
new_listener(server_ip_addr, server_port, 128u, iotask);
14931495
if result::is_failure(new_listener_result) {
14941496
let err_data = result::get_err(new_listener_result);
14951497
log(debug, #fmt("SERVER: exited abnormally name %s msg %s",
@@ -1533,12 +1535,12 @@ mod test {
15331535

15341536
fn run_tcp_test_client(server_ip: str, server_port: uint, resp: str,
15351537
client_ch: comm::chan<str>,
1536-
hl_loop: uv::hl::high_level_loop) -> str {
1538+
iotask: iotask) -> str {
15371539

15381540
let server_ip_addr = ip::v4::parse_addr(server_ip);
15391541

15401542
log(debug, "CLIENT: starting..");
1541-
let connect_result = connect(server_ip_addr, server_port, hl_loop);
1543+
let connect_result = connect(server_ip_addr, server_port, iotask);
15421544
if result::is_failure(connect_result) {
15431545
log(debug, "CLIENT: failed to connect");
15441546
let err_data = result::get_err(connect_result);

branches/try/src/libstd/std.rc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ use core(vers = "0.2");
1414
import core::*;
1515

1616
export net, net_tcp;
17-
export uv, uv_ll, uv_hl, uv_global_loop;
17+
export uv, uv_ll, uv_iotask, uv_global_loop;
1818
export c_vec, util, timer;
1919
export bitv, deque, fun_treemap, list, map, smallintmap, sort, treemap;
2020
export rope, arena, arc;
@@ -30,7 +30,7 @@ mod net_tcp;
3030
// libuv modules
3131
mod uv;
3232
mod uv_ll;
33-
mod uv_hl;
33+
mod uv_iotask;
3434
mod uv_global_loop;
3535

3636

0 commit comments

Comments
 (0)