On Mon, Apr 06, 2009 at 01:38:44PM -0700, Phoenix Sol wrote: > Thanks, Nick. > > Is zero-copy possible at all with the current libevent? (I already assumed > it wouldn't work with bufferevent)
If you mean, just using the regular event_base interface, without any bufferevent or evbuffer interfaces, then... sure, so long as your OS supports it, and supports it in a way that works with libevent. None of the functions that manipulate a 'struct event' (such as event_set, event_add, event_del) ever read or write any data to the network stack, so none of _them_ will add any copies to your data's path to and from the network stack. What you do to communicate with your kernel then is up to you. If you use read or write, data will be copied. If you use splice or sendfile, it typically won't. So if you could write a zero-copy program that used kqueue or epoll, you could write one using Libevent. Then again, I could be offbase here. I know libevent pretty well, but I'm not an expert on zero-copy stuff. Adrian -- are you still around? I bet this topic is right up your alley. -- Nick _______________________________________________ Libevent-users mailing list Libevent-users@monkey.org http://monkeymail.org/mailman/listinfo/libevent-users