From 2c26cf7f96252aad623dd2ca688a8d9782fc57c5 Mon Sep 17 00:00:00 2001 From: Jeff Olson Date: Fri, 30 Mar 2012 07:19:45 -0700 Subject: add low-level uv_async bindings for use in tcp test --- src/rt/rust_uv.cpp | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) (limited to 'src/rt/rust_uv.cpp') diff --git a/src/rt/rust_uv.cpp b/src/rt/rust_uv.cpp index 7a6a79ce17b..6303bd700a6 100644 --- a/src/rt/rust_uv.cpp +++ b/src/rt/rust_uv.cpp @@ -167,15 +167,22 @@ rust_uv_async_send(uv_async_t* handle) { uv_async_send(handle); } +extern "C" int +rust_uv_async_init(uv_loop_t* loop_handle, + uv_async_t* async_handle, + uv_async_cb cb) { + return uv_async_init(loop_handle, async_handle, cb); +} + extern "C" void* -rust_uv_async_init(uv_loop_t* loop, crust_simple_cb cb, - uint8_t* buf) { - uv_async_t* async = (uv_async_t*)current_kernel_malloc( - sizeof(uv_async_t), - "uv_async_t"); - uv_async_init(loop, async, native_async_cb); - handle_data* data = new_handle_data_from(buf, cb); - async->data = data; +rust_uv_hilvl_async_init(uv_loop_t* loop, crust_simple_cb cb, + uint8_t* buf) { + uv_async_t* async = (uv_async_t*)current_kernel_malloc( + sizeof(uv_async_t), + "uv_async_t"); + uv_async_init(loop, async, native_async_cb); + handle_data* data = new_handle_data_from(buf, cb); + async->data = data; return async; } @@ -270,6 +277,10 @@ extern "C" size_t rust_uv_helper_sockaddr_in_size() { return sizeof(sockaddr_in); } +extern "C" size_t +rust_uv_helper_uv_async_t_size() { + return sizeof(uv_async_t); +} extern "C" uv_stream_t* rust_uv_get_stream_handle_from_connect_req(uv_connect_t* connect) { -- cgit 1.4.1-3-g733a5