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 <ni...@freehaven.net> 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
Libevent-users@monkey.org
http://monkeymail.org/mailman/listinfo/libevent-users

Reply via email to