Skip to content

Commit ad8f93b

Browse files
olsonjefferybrson
authored andcommitted
---
yaml --- r: 15359 b: refs/heads/try c: 05e2c13 h: refs/heads/master i: 15357: 6493482 15355: 8e7e880 15351: 049077f 15343: 577314b 15327: 2962ee9 15295: 1bb74ec 15231: 8e3ca68 15103: 3803061 14847: a09b1f1 14335: 4cc2ad4 v: v3
1 parent 8bcbbd6 commit ad8f93b

File tree

2 files changed

+74
-67
lines changed

2 files changed

+74
-67
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: af08aba5736aacae6662a2ac586bb559f0704cdc
5+
refs/heads/try: 05e2c131c46a835f0de2cd03208cddb310877ed2
66
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105

branches/try/src/libstd/uv.rs

Lines changed: 73 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -76,19 +76,19 @@ enum uv_handle_type {
7676
UV_FS_EVENT
7777
}
7878

79-
type handle_type = ctypes::enum;
79+
type handle_type = libc::c_uint;
8080

8181
type uv_handle_fields = {
82-
loop_handle: *ctypes::void,
82+
loop_handle: *libc::c_void,
8383
type_: handle_type,
8484
close_cb: *u8,
85-
mutable data: *ctypes::void,
85+
mutable data: *libc::c_void,
8686
};
8787

8888
// unix size: 8
8989
type uv_err_t = {
90-
code: ctypes::c_int,
91-
sys_errno_: ctypes::c_int
90+
code: libc::c_int,
91+
sys_errno_: libc::c_int
9292
};
9393

9494
// don't create one of these directly. instead,
@@ -138,7 +138,7 @@ fn gen_stub_uv_tcp_t() -> uv_tcp_t {
138138

139139
#[cfg(target_os = "win32")]
140140
type uv_tcp_t = {
141-
loop_handle: *ctypes::void
141+
loop_handle: *libc::c_void
142142
};
143143
#[cfg(target_os = "win32")]
144144
fn gen_stub_uv_tcp_t() -> uv_tcp_t {
@@ -170,14 +170,14 @@ fn gen_stub_uv_connect_t() -> uv_connect_t {
170170
#[cfg(target_os = "freebsd")]
171171
type uv_buf_t = {
172172
base: *u8,
173-
len: ctypes::size_t
173+
len: libc::size_t
174174
};
175175
// no gen stub method.. should create
176176
// it via uv::direct::buf_init()
177177

178178
#[cfg(target_os = "win32")]
179179
type uv_connect_t = {
180-
loop_handle: *ctypes::void
180+
loop_handle: *libc::c_void
181181
};
182182
#[cfg(target_os = "win32")]
183183
fn gen_stub_uv_connect_t() -> uv_connect_t {
@@ -210,7 +210,7 @@ fn gen_stub_uv_write_t() -> uv_write_t {
210210
}
211211
#[cfg(target_os = "win32")]
212212
type uv_write_t = {
213-
loop_handle: *ctypes::void
213+
loop_handle: *libc::c_void
214214
};
215215
#[cfg(target_os = "win32")]
216216
fn gen_stub_uv_write_t() -> uv_write_t {
@@ -268,77 +268,82 @@ native mod rustrt {
268268
////////////
269269
// NOT IN rustrt.def.in
270270
////////////
271-
fn rust_uv_free(ptr: *ctypes::void);
271+
fn rust_uv_free(ptr: *libc::c_void);
272272
fn rust_uv_tcp_init(
273-
loop_handle: *ctypes::void,
274-
handle_ptr: *uv_tcp_t) -> ctypes::c_int;
275-
fn rust_uv_buf_init(base: *u8, len: ctypes::size_t)
276-
-> *ctypes::void;
277-
fn rust_uv_last_error(loop_handle: *ctypes::void) -> uv_err_t;
278-
fn rust_uv_ip4_addr(ip: *u8, port: ctypes::c_int)
279-
-> *ctypes::void;
273+
loop_handle: *libc::c_void,
274+
handle_ptr: *uv_tcp_t) -> libc::c_int;
275+
fn rust_uv_buf_init(base: *u8, len: libc::size_t)
276+
-> *libc::c_void;
277+
fn rust_uv_last_error(loop_handle: *libc::c_void) -> uv_err_t;
278+
fn rust_uv_ip4_addr(ip: *u8, port: libc::c_int)
279+
-> *libc::c_void;
280280
fn rust_uv_tcp_connect(connect_ptr: *uv_connect_t,
281281
tcp_handle_ptr: *uv_tcp_t,
282-
addr: *ctypes::void,
283-
after_cb: *u8) -> ctypes::c_int;
282+
addr: *libc::c_void,
283+
after_cb: *u8) -> libc::c_int;
284+
fn rust_uv_write(req: *libc::c_void, stream: *libc::c_void,
285+
buf_in: *uv_buf_t, buf_cnt: libc::c_int,
286+
cb: *u8) -> libc::c_int;
284287

285288
// sizeof testing helpers
286-
fn rust_uv_helper_uv_tcp_t_size() -> ctypes::c_uint;
287-
fn rust_uv_helper_uv_connect_t_size() -> ctypes::c_uint;
288-
fn rust_uv_helper_uv_buf_t_size() -> ctypes::c_uint;
289-
fn rust_uv_helper_uv_write_t_size() -> ctypes::c_uint;
290-
fn rust_uv_helper_uv_err_t_size() -> ctypes::c_uint;
291-
fn rust_uv_helper_sockaddr_in_size() -> ctypes::c_uint;
289+
fn rust_uv_helper_uv_tcp_t_size() -> libc::c_uint;
290+
fn rust_uv_helper_uv_connect_t_size() -> libc::c_uint;
291+
fn rust_uv_helper_uv_buf_t_size() -> libc::c_uint;
292+
fn rust_uv_helper_uv_write_t_size() -> libc::c_uint;
293+
fn rust_uv_helper_uv_err_t_size() -> libc::c_uint;
294+
fn rust_uv_helper_sockaddr_in_size() -> libc::c_uint;
292295

293296
// data accessors for rust-mapped uv structs
294297
fn rust_uv_get_stream_handle_for_connect(connect: *uv_connect_t)
295298
-> *uv_stream_t;
296-
fn rust_uv_get_loop_for_uv_handle(handle: *ctypes::void)
297-
-> *ctypes::void;
298-
fn rust_uv_get_data_for_uv_handle(handle: *ctypes::void)
299-
-> *ctypes::void;
300-
fn rust_uv_set_data_for_uv_handle(handle: *ctypes::void,
301-
data: *ctypes::void);
302-
fn rust_uv_get_data_for_req(req: *ctypes::void) -> *ctypes::void;
303-
fn rust_uv_set_data_for_req(req: *ctypes::void,
304-
data: *ctypes::void);
299+
fn rust_uv_get_loop_for_uv_handle(handle: *libc::c_void)
300+
-> *libc::c_void;
301+
fn rust_uv_get_data_for_uv_handle(handle: *libc::c_void)
302+
-> *libc::c_void;
303+
fn rust_uv_set_data_for_uv_handle(handle: *libc::c_void,
304+
data: *libc::c_void);
305+
fn rust_uv_get_data_for_req(req: *libc::c_void) -> *libc::c_void;
306+
fn rust_uv_set_data_for_req(req: *libc::c_void,
307+
data: *libc::c_void);
305308
}
306309

307310
// this module is structured around functions that directly
308311
// expose libuv functionality and data structures. for use
309312
// in higher level mappings
310313
mod direct {
311-
unsafe fn loop_new() -> *ctypes::void {
314+
unsafe fn loop_new() -> *libc::c_void {
312315
ret rustrt::rust_uv_loop_new();
313316
}
314317

315-
unsafe fn loop_delete(loop_handle: *ctypes::void) {
318+
unsafe fn loop_delete(loop_handle: *libc::c_void) {
316319
rustrt::rust_uv_loop_delete(loop_handle);
317320
}
318321

319-
unsafe fn run(loop_handle: *ctypes::void) {
322+
unsafe fn run(loop_handle: *libc::c_void) {
320323
rustrt::rust_uv_run(loop_handle);
321324
}
322325

323-
unsafe fn tcp_init(loop_handle: *ctypes::void, handle: *uv_tcp_t)
324-
-> ctypes::c_int {
326+
unsafe fn tcp_init(loop_handle: *libc::c_void, handle: *uv_tcp_t)
327+
-> libc::c_int {
325328
ret rustrt::rust_uv_tcp_init(loop_handle, handle);
326329
}
327330
unsafe fn tcp_connect(connect_ptr: *uv_connect_t,
328331
tcp_handle_ptr: *uv_tcp_t,
329-
address: *ctypes::void,
332+
address: *libc::c_void,
330333
after_connect_cb: *u8)
331-
-> ctypes::c_int {
334+
-> libc::c_int {
332335
ret rustrt::rust_uv_tcp_connect(connect_ptr, tcp_handle_ptr,
333336
address, after_connect_cb);
334337
}
335338

336-
unsafe fn write(req: *ctypes::void, stream: *ctypes::void,
337-
buf: *[uv_buf_t], cb: *u8) -> ctypes::c_int {
338-
ret rustrt::rust_uv_write(
339+
unsafe fn write(req: *libc::c_void, stream: *libc::c_void,
340+
buf_in: *[uv_buf_t], cb: *u8) -> libc::c_int {
341+
let buf_ptr = vec::unsafe::to_ptr(*buf_in);
342+
let buf_cnt = vec::len(*buf_in) as i32;
343+
ret rustrt::rust_uv_write(req, stream, buf_ptr, buf_cnt, cb);
339344
}
340345

341-
unsafe fn uv_last_error(loop_handle: *ctypes::void) -> uv_err_t {
346+
unsafe fn uv_last_error(loop_handle: *libc::c_void) -> uv_err_t {
342347
ret rustrt::rust_uv_last_error(loop_handle);
343348
}
344349

@@ -352,29 +357,29 @@ mod direct {
352357
unsafe fn write_t() -> uv_write_t {
353358
ret gen_stub_uv_write_t();
354359
}
355-
unsafe fn get_loop_for_uv_handle(handle: *ctypes::void)
356-
-> *ctypes::void {
360+
unsafe fn get_loop_for_uv_handle(handle: *libc::c_void)
361+
-> *libc::c_void {
357362
ret rustrt::rust_uv_get_loop_for_uv_handle(handle);
358363
}
359364
unsafe fn get_stream_handle_for_connect(connect: *uv_connect_t)
360365
-> *uv_stream_t {
361366
ret rustrt::rust_uv_get_stream_handle_for_connect(connect);
362367
}
363368

364-
unsafe fn get_data_for_req(req: *ctypes::void) -> *ctypes::void {
369+
unsafe fn get_data_for_req(req: *libc::c_void) -> *libc::c_void {
365370
ret rustrt::rust_uv_get_data_for_req(req);
366371
}
367-
unsafe fn set_data_for_req(req: *ctypes::void,
368-
data: *ctypes::void) {
372+
unsafe fn set_data_for_req(req: *libc::c_void,
373+
data: *libc::c_void) {
369374
rustrt::rust_uv_set_data_for_req(req, data);
370375
}
371376
// FIXME: see github issue #1402
372-
unsafe fn buf_init(input: *u8, len: uint) -> *ctypes::void {
377+
unsafe fn buf_init(input: *u8, len: uint) -> *libc::c_void {
373378
ret rustrt::rust_uv_buf_init(input, len);
374379
}
375380
// FIXME: see github issue #1402
376-
unsafe fn ip4_addr(ip: str, port: ctypes::c_int)
377-
-> *ctypes::void {
381+
unsafe fn ip4_addr(ip: str, port: libc::c_int)
382+
-> *libc::c_void {
378383
let addr_vec = str::bytes(ip);
379384
addr_vec += [0u8]; // add null terminator
380385
let addr_vec_ptr = vec::unsafe::to_ptr(addr_vec);
@@ -384,7 +389,7 @@ mod direct {
384389
}
385390
// this is lame.
386391
// FIXME: see github issue #1402
387-
unsafe fn free_1402(ptr: *ctypes::void) {
392+
unsafe fn free_1402(ptr: *libc::c_void) {
388393
rustrt::rust_uv_free(ptr);
389394
}
390395
}
@@ -943,44 +948,46 @@ type request_wrapper = {
943948
req_buf: *[uv_buf_t]
944949
};
945950

946-
crust fn on_alloc(handle: *ctypes::void,
947-
suggested_size: ctypes::size_t) -> uv_buf_t
951+
crust fn on_alloc(handle: *libc::c_void,
952+
suggested_size: libc::size_t) -> uv_buf_t
948953
unsafe {
949954
io::println("beginning on_alloc...");
950955
io::println("ending on_alloc...");
951956
let new_vec: @[u8] = @[];
952957
let ptr = vec::unsafe::to_ptr(*new_vec);
953-
ret direct::buf_init(ptr, vec::len(*new_vec));
958+
let buf = direct::buf_init(ptr, vec::len(*new_vec));
959+
ret *(buf as *uv_buf_t);
960+
954961
}
955962

956963
crust fn on_write_complete_cb(write_handle: *uv_write_t,
957-
status: ctypes::c_int) unsafe {
964+
status: libc::c_int) unsafe {
958965
io::println("beginning on_write_complete_cb");
959966
io::println("ending on_write_complete_cb");
960967
}
961968

962969
crust fn on_connect_cb(connect_handle_ptr: *uv_connect_t,
963-
status: ctypes::c_int) unsafe {
970+
status: libc::c_int) unsafe {
964971
io::println(#fmt("beginning on_connect_cb .. status: %d",
965972
status as int));
966973
let stream = direct::get_stream_handle_for_connect(connect_handle_ptr);
967974
if (status == 0i32) {
968975
io::println("on_connect_cb: in status=0 if..");
969976
let data = direct::get_data_for_req(
970-
connect_handle_ptr as *ctypes::void)
977+
connect_handle_ptr as *libc::c_void)
971978
as *request_wrapper;
972-
let write_handle = (*data).write_req as *ctypes::void;
979+
let write_handle = (*data).write_req as *libc::c_void;
973980
io::println(#fmt("on_connect_cb: tcp stream: %d write_handle addr %d",
974981
stream as int, write_handle as int));
975982
direct::write(write_handle,
976-
stream as *ctypes::void,
983+
stream as *libc::c_void,
977984
(*data).req_buf,
978985
on_write_complete_cb);
979986
io::println("on_connect_cb: after direct::write()");
980987
}
981988
else {
982989
let loop_handle = direct::get_loop_for_uv_handle(
983-
stream as *ctypes::void);
990+
stream as *libc::c_void);
984991
let err = direct::uv_last_error(loop_handle);
985992
}
986993
io::println("finishing on_connect_cb");
@@ -1016,7 +1023,7 @@ fn impl_uv_tcp_request() unsafe {
10161023
let addr = direct::ip4_addr("173.194.33.40", 80i32);
10171024

10181025
let tcp_init_result = direct::tcp_init(
1019-
test_loop as *ctypes::void, tcp_handle_ptr);
1026+
test_loop as *libc::c_void, tcp_handle_ptr);
10201027
if (tcp_init_result == 0i32) {
10211028
io::println("sucessful tcp_init_result");
10221029
// this should set up the connection request..
@@ -1026,8 +1033,8 @@ fn impl_uv_tcp_request() unsafe {
10261033
if (tcp_connect_result == 0i32) {
10271034
// not set the data on the connect_req until its initialized
10281035
direct::set_data_for_req(
1029-
connect_handle_ptr as *ctypes::void,
1030-
ptr::addr_of(req) as *ctypes::void);
1036+
connect_handle_ptr as *libc::c_void,
1037+
ptr::addr_of(req) as *libc::c_void);
10311038
io::println("before run tcp req loop");
10321039
direct::run(test_loop);
10331040
io::println("after run tcp req loop");

0 commit comments

Comments
 (0)