mattn/mruby-uv — pull request #29 by take-cheeze (2014-04-06 13:09:06+00:00)
Title: Implement (almost) full binding of libuv.

Most functions of libuv should be now implemented.
mruby-uv use `UVError` for libuv error now.
Pointer getting from `mrb_value` will now use `mrb_uv_get_ptr` to check already destroyed pointer.
Missing methods are implemented.
Some FS sync operation is implemented.
`Idle`'s multiple initialization is fixed.
Methods returning `nil` now returns self.
Following classes are implemented:
* Once
* RWLock
* Cond
* Key
* Check
* FS::Event
* Poll
* Stat

Future work:
* Async operation should return mruby wrapped `uv_req_t`.
* Wrapped value should have `cancel` method which is binding of `uv_cancel`.
* Sync operation should use `uv_req_t` allocated to stack.
* Implement CRuby standard library using mruby-uv as backend.
* Refactor FS operation.
* Functions `uv_fs_f*` should be a method of class `UV::FS`.
* Support custom `uv_loop_t`.
* Support functions that use `uv_os_sock_t`.
* (`tcp_open`, `udp_open`, `uv_poll_init_socket`)
* Test improvements.
* Support travis-ci testing.
* Add more tests.
* Port some of them from libuv tests.