-
Notifications
You must be signed in to change notification settings - Fork 189
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Remaining unbound functions #410
Comments
We could probably deprecate tcp_write_queue_size and getpid if they have libuv versions. lchown needs implementing. |
Contributes towards luvit#410
What should be the process for deprecation? |
Contributes towards luvit#410
I would just leave a comment in the code and document that it should not be used, or just not document it at all. We can't remove anything without a major version bump. |
Added to the OP: an autogenerated a list of all functions defined in |
Brave man |
- Adds a 'Check' stage to the CI that runs before the general 'Test' stage - Adds Valgrind check - Adds LSAN/ASAN/UBSAN check - Adds a "binding coverage" check script to catch any unbound functions when we update to new Libuv versions. Added the unbound functions in #410 as exceptions for now; they should be removed from the $skipped array as they are resolved. - Deprecated test-leaks.lua and moved it to manual-test-leaks.lua since Valgrind/ASAN is much better at detecting leaks. This has a side benefit of speeding up our test suite a bit. - Closes #395, #428, #429
- Allows the interface argument of udp_set_membership to be nil (meaning a NULL const char* passed to uv_udp_set_membership). This was needed to be able to port the libuv multicast join tests - Adds a binding for udp_set_source_membership (contributes towards luvit#410) - Ports the test-udp-multicast-join and test-udp-multicast-join6 tests from libuv
- Allows the interface argument of udp_set_membership to be nil (meaning a NULL const char* passed to uv_udp_set_membership). This was needed to be able to port the libuv multicast join tests - Adds a binding for udp_set_source_membership (contributes towards luvit#410) - Ports the test-udp-multicast-join and test-udp-multicast-join6 tests from libuv
Contributes towards luvit#410
Contributes towards luvit#410
Provides the functionality of both uv_handle_get_type and uv_handle_type_name in one function. Contributes towards luvit#410
Provides the functionality of both uv_req_get_type and uv_req_type_name in one function. Contributes towards luvit#410 Also adds method form of uv.cancel: req:cancel()
Are there any plans to expose loop utilities to Lua? I'm in a situation where I need to use |
uv_stream_get_write_queue_size
; see also the non-standardluv
functiontcp_write_queue_size
, presumably bound beforeuv_stream_get_write_queue_size
was addeduv_loop_configure
(Add binding and docs for uv_loop_configure #103, Add loop_configure binding #496)uv_setup_args
(API luv.setup_args is missing #264); I don't think this is bindable, see RFC: fail gracefully in uv_{get,set}_process_title when uv_setup_args is not called libuv/libuv#2845uv_fs_lchown
(no binding possible from Lua)uv_replace_allocator
(we don't expose loop to Lua)uv_default_loop
(we don't expose loop to Lua)uv_loop_new
(we don't expose loop to Lua)uv_loop_delete
(we don't expose loop to Lua)uv_loop_size
(we don't expose loop to Lua)uv_loop_fork
(we don't expose loop to Lua)uv_loop_get_data
(we don't expose loop to Lua)uv_loop_set_data
uv_strerror
(used internally but not bound externally)uv_strerror_r
uv_err_name
(used internally but not bound externally)uv_err_name_r
(don't think there's a usecase for this from Lua)uv_handle_size
uv_handle_get_type
(Add handle_get_type and req_get_type #494)uv_handle_type_name
(Add handle_get_type and req_get_type #494)(no real reason to bind this imo)uv_handle_get_data
(we don't expose loop to Lua)uv_handle_get_loop
(no real reason to bind this imo)uv_handle_set_data
(don't think there's a usecase for this from Lua)uv_req_size
(no real reason to bind this imo)uv_req_get_data
(no real reason to bind this imo)uv_req_set_data
uv_req_get_type
(Add handle_get_type and req_get_type #494)uv_req_type_name
(Add handle_get_type and req_get_type #494)uv_udp_set_source_membership
(udp: Add udp_set_source_membership binding + improve udp_set_membership #491)uv_pipe_chmod
(pipe: Add pipe_chmod binding #492)uv_process_get_pid
(process: Add process_get_pid binding #493)uv_get_osfhandle
uv_open_osfhandle
uv_fs_get_type
(no real reason to bind this imo)uv_fs_get_result
(no real reason to bind this imo)uv_fs_get_ptr
uv_fs_get_path
(no real reason to bind this imo)uv_fs_get_statbuf
uv_fs_get_system_error
(Libuv >= 1.38.0, see Update submodule(LuaJIT,libuv) version #509 (comment))uv_ip4_addr
(used internally but not bound externally)uv_ip6_addr
(used internally but not bound externally)uv_ip4_name
(used internally but not bound externally)uv_ip6_name
(used internally but not bound externally)uv_ip_name
uv_inet_ntop
(used internally but not bound externally)uv_inet_pton
uv_dlopen
uv_dlclose
uv_dlsym
uv_dlerror
Threading/synchronization
Ignoring these for now; we aren't binding any of them currently AFAIK so it'd probably be opening a can of worms.
uv_mutex_init
uv_mutex_init_recursive
uv_mutex_destroy
uv_mutex_lock
uv_mutex_trylock
uv_mutex_unlock
uv_rwlock_init
uv_rwlock_destroy
uv_rwlock_rdlock
uv_rwlock_tryrdlock
uv_rwlock_rdunlock
uv_rwlock_wrlock
uv_rwlock_trywrlock
uv_rwlock_wrunlock
uv_sem_init
uv_sem_destroy
uv_sem_post
uv_sem_wait
uv_sem_trywait
uv_cond_init
uv_cond_destroy
uv_cond_signal
uv_cond_broadcast
uv_barrier_init
uv_barrier_destroy
uv_barrier_wait
uv_cond_wait
uv_cond_timedwait
uv_once
uv_key_create
uv_key_delete
uv_key_get
uv_key_set
The text was updated successfully, but these errors were encountered: