Apache Celix is a framework for C and C++14 to develop dynamic modular software applications using component and in-process service-oriented programming.
This ticket focuses on the internal implementation changes related to Celix’s event loop and how libuv can be leveraged internally to simplify platform abstraction.
Ideally this can be done without breaking the public API.
Steps
[ ] Replace internal event Loop with libuv event loop
Modify the internal Celix event thread implementation to use libuv's event loop (uv_loop_t). This will abstract the current Linux-specific implementation and make it cross-platform.
[ ] Update the scheduled event implementation for libuv
Also update the scheduled event implementation to make use of libuv. Including usage of uv_timer_t if feasible.
[ ] Update the celix shutdown procedure for the updated uv_loop_t
If feasible simplify the celix shutdown procedure using libuv.
Intro
This ticket focuses on the internal implementation changes related to Celix’s event loop and how libuv can be leveraged internally to simplify platform abstraction.
Ideally this can be done without breaking the public API.
Steps
Modify the internal Celix event thread implementation to use libuv's event loop (
uv_loop_t
). This will abstract the current Linux-specific implementation and make it cross-platform.Also update the scheduled event implementation to make use of libuv. Including usage of
uv_timer_t
if feasible.uv_loop_t
If feasible simplify the celix shutdown procedure using libuv.