Yes, that's why I managed to let Artanis support arbitrary customized server core, it's hard to meet every needs, so people always write their preferred server core. And the default server core of Artanis named Ragnarok, it's also relies on epoll, it even can't support GNU Hurd although it's GNU project. I've discussed with Hurd people about implementing epoll, someone told me it's not too hard, but no one have time for it now. Another way to support BSD is to write a server core with libuv which supports kqueue which is the original thing of epoll.
But libuv is based on threads, so if there's something to be added to Artanis to let this kind of server core be well integrated. Because Ragnarok don't use threads, so Artanis has no locks. But it's trivial, we may use parameters to lock critical resources, if the server core don't use threads, then it will not actually lock. If someone wants to add new server core, feel free to discuss in [email protected], or maybe CC [email protected] either. Best regards. On Sat, May 5, 2018 at 11:19 PM, Matt Wette <[email protected]> wrote: > On 05/05/2018 06:21 AM, Matt Wette wrote: >> >> On 05/03/2018 11:49 AM, Nala Ginrut wrote: >>> >>> Recently I've been asked if I can port Artanis to Fibers. >>> My design of Artanis is to support arbitrary server-core, so I tried >>> Fibers for it. After fixed some issues, it works roughly. Maybe not >>> perfect but it works. >>> >> Just want to let you know that Fibers relies on epoll and hence will not >> run on macOS or FreeBSD, to my knowledge. > > > And I looked a bit through the Artanis documentation. > To me, Artanis looks nicely done. I will keep it in mind. > > > Matt > >
