Skip to content
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

Add support for epoll #33

Open
andreas-bok-sociomantic opened this issue Jul 15, 2016 · 5 comments
Open

Add support for epoll #33

andreas-bok-sociomantic opened this issue Jul 15, 2016 · 5 comments

Comments

@andreas-bok-sociomantic
Copy link
Contributor

Currently the poll and select is used for handling the asynchronous io.

epoll offers several advantages which allows for improved scalability and more flexibility on the client side of the api

@ben-palmer-sociomantic ben-palmer-sociomantic modified the milestone: v5.2.x Aug 22, 2016
@andreas-bok-sociomantic andreas-bok-sociomantic modified the milestones: v5.3.x, v5.2.x Aug 24, 2016
@andreas-bok-sociomantic andreas-bok-sociomantic changed the title Refactor libdrizzle-redux to use epoll Add support for epoll Dec 29, 2016
@mathias-baumann-sociomantic

Is that really required or even an issue with

* Set a custom I/O event watcher function for a drizzle structure. Used to
* integrate libdrizzle with a custom event loop. The callback will be invoked
* to register or deregister interest in events for a connection. When the
* events are triggered, drizzle_con_set_revents() should be called to
* indicate which events are ready. The event loop should stop waiting for
* these events, as libdrizzle will call the callback again if it is still
* interested. To resume processing, the libdrizzle function that returned
* DRIZZLE_RETURN_IO_WAIT should be called again. See drizzle_event_watch_fn().
*
* @param[in] drizzle Drizzle structure previously initialized with
* drizzle_create() or drizzle_clone().
* @param[in] function Function to call when there is an I/O event.
* @param[in] context Argument to pass into the callback function.
*/
DRIZZLE_API
void drizzle_set_event_watch_fn(drizzle_st *drizzle,
drizzle_event_watch_fn *function,
void *context);
existing?

@andreas-bok-sociomantic
Copy link
Contributor Author

It is meant for "future work". For the current use cases it isn't necessary but given the advantages of epoll it might still be worth looking into.

@mathias-baumann-sociomantic

But you can use epoll in every use case, that's what I mean ;)

@andreas-bok-sociomantic
Copy link
Contributor Author

Well it isn't supported on all platform so poll and select should still be there

@mathias-baumann-sociomantic

I feel so misunderstood

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants