36 lines
815 B
C
36 lines
815 B
C
// Released under the MIT License.
|
|
// Copyright, 2021-2025, by Samuel Williams.
|
|
|
|
#include "event.h"
|
|
#include "fiber.h"
|
|
#include "profiler.h"
|
|
#include "selector/selector.h"
|
|
#include <complex.h>
|
|
|
|
void Init_IO_Event(void)
|
|
{
|
|
#ifdef HAVE_RB_EXT_RACTOR_SAFE
|
|
rb_ext_ractor_safe(true);
|
|
#endif
|
|
|
|
VALUE IO_Event = rb_define_module_under(rb_cIO, "Event");
|
|
|
|
Init_IO_Event_Fiber(IO_Event);
|
|
Init_IO_Event_Profiler(IO_Event);
|
|
|
|
VALUE IO_Event_Selector = rb_define_module_under(IO_Event, "Selector");
|
|
Init_IO_Event_Selector(IO_Event_Selector);
|
|
|
|
#ifdef IO_EVENT_SELECTOR_URING
|
|
Init_IO_Event_Selector_URing(IO_Event_Selector);
|
|
#endif
|
|
|
|
#ifdef IO_EVENT_SELECTOR_EPOLL
|
|
Init_IO_Event_Selector_EPoll(IO_Event_Selector);
|
|
#endif
|
|
|
|
#ifdef IO_EVENT_SELECTOR_KQUEUE
|
|
Init_IO_Event_Selector_KQueue(IO_Event_Selector);
|
|
#endif
|
|
}
|