diff options
| author | Jeff Olson <olson.jeffery@gmail.com> | 2012-03-26 11:09:57 -0700 |
|---|---|---|
| committer | Brian Anderson <banderson@mozilla.com> | 2012-04-06 15:35:48 -0700 |
| commit | 877747d0acd53a7ec271d97d6620347cda0430c6 (patch) | |
| tree | cc49a0f004a89ee266d0f1dbcbdb8dbf0cffa66f /src/rt/rust_uv.cpp | |
| parent | e0193dac6edae6c4c5dd1a8fffeb3d9f922769bd (diff) | |
| download | rust-877747d0acd53a7ec271d97d6620347cda0430c6.tar.gz rust-877747d0acd53a7ec271d97d6620347cda0430c6.zip | |
wired up uv_read_start and some helper funcs around uv_alloc_cb tasks
Diffstat (limited to 'src/rt/rust_uv.cpp')
| -rw-r--r-- | src/rt/rust_uv.cpp | 31 |
1 files changed, 30 insertions, 1 deletions
diff --git a/src/rt/rust_uv.cpp b/src/rt/rust_uv.cpp index b4694ccf37c..f753c55c69e 100644 --- a/src/rt/rust_uv.cpp +++ b/src/rt/rust_uv.cpp @@ -230,9 +230,13 @@ rust_uv_helper_sockaddr_in_size() { } extern "C" uv_stream_t* -rust_uv_get_stream_handle_for_connect(uv_connect_t* connect) { +rust_uv_get_stream_handle_from_connect_req(uv_connect_t* connect) { return connect->handle; } +extern "C" uv_stream_t* +rust_uv_get_stream_handle_from_write_req(uv_write_t* write_req) { + return write_req->handle; +} extern "C" uv_buf_t current_kernel_malloc_alloc_cb(uv_handle_t* handle, @@ -275,6 +279,16 @@ rust_uv_set_data_for_req(uv_req_t* req, void* data) { req->data = data; } +extern "C" char* +rust_uv_get_base_from_buf(uv_buf_t buf) { + return buf.base; +} + +extern "C" size_t +rust_uv_get_len_from_buf(uv_buf_t buf) { + return buf.len; +} + extern "C" uv_err_t rust_uv_last_error(uv_loop_t* loop) { return uv_last_error(loop); @@ -302,6 +316,21 @@ rust_uv_write(uv_write_t* req, uv_stream_t* handle, uv_write_cb cb) { return uv_write(req, handle, bufs, buf_cnt, cb); } +extern "C" int +rust_uv_read_start(uv_stream_t* stream, uv_alloc_cb on_alloc, + uv_read_cb on_read) { + return uv_read_start(stream, on_alloc, on_read); +} + +extern "C" char* +rust_uv_malloc_buf_base_of(size_t suggested_size) { + return (char*) current_kernel_malloc(sizeof(char)*suggested_size, + "uv_buf_t base"); +} +extern "C" void +rust_uv_free_base_of_buf(uv_buf_t buf) { + current_kernel_free(buf.base); +} extern "C" struct sockaddr_in rust_uv_ip4_addr(const char* ip, int port) { |
