ext/libuv/include/uv.h in libuv-0.11.5 vs ext/libuv/include/uv.h in libuv-0.11.7

- old
+ new

@@ -271,10 +271,16 @@ * pending events. */ UV_EXTERN int uv_run(uv_loop_t*, uv_run_mode mode); /* + * This function checks whether the reference count, the number of active + * handles or requests left in the event loop, is non-zero. + */ +UV_EXTERN int uv_loop_alive(const uv_loop_t* loop); + +/* * This function will stop the event loop by forcing uv_run to end * as soon as possible, but not sooner than the next loop iteration. * If this function was called before blocking for i/o, the loop won't * block for i/o on this iteration. */ @@ -670,9 +676,21 @@ uv_stream_t* handle, const uv_buf_t bufs[], unsigned int nbufs, uv_stream_t* send_handle, uv_write_cb cb); + +/* + * Same as `uv_write()`, but won't queue write request if it can't be completed + * immediately. + * Will return either: + * - positive number of bytes written + * - zero - if queued write is needed + * - negative error code + */ +UV_EXTERN int uv_try_write(uv_stream_t* handle, + const uv_buf_t bufs[], + unsigned int nbufs); /* uv_write_t is a subclass of uv_req_t */ struct uv_write_s { UV_REQ_FIELDS uv_write_cb cb;