I wish I had thought just another moment before asking that ;-) Thanks for the generous answer.
I know the best answer is to learn C, TCP/IP, etc. properly, instead of 'groping in the dark' with scripting languages. On Mon, Apr 6, 2009 at 10:04 PM, Nick Mathewson <[email protected]> wrote: > 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 [email protected] http://monkeymail.org/mailman/listinfo/libevent-users
