[Libevent-users] Re: IOCP writes

Toby Douglass toby.douglass at summerblue.net
Thu Feb 22 08:43:48 EST 2007


> From: "Toby Douglass" <toby.douglass at summerblue.net>
>> As it is, it's easy to support serial writes with IOCP, it's supporting
>> multiple concurrent writes which is awkward for a convenient-to-use API
>> over IOCP - and this I would think is absolutely required for some uses
>> of UDP sockets.

> I haven't tried any UDP async socket stuff, not with IOCPs nor anything.
> Tell us how it goes!

Well, it's something I've rarely needed to do - in fact, only for P2P VOIP.

However, the example I had in mind (which is similar) is P2P apps, which
use writes on a single local UDP socket to send peering information to
peers.  They would benefit from async writes on that socket.

> Still, I think I'm missing the point of multiple
> concurrent writes - wouldn't the output be undefined?

Ah, no, because the destination on a UDP socket will be specified for each
write.  For a TCP socket, your concern is correct, multiple async writes
would only be useful if each write was independent of every other write,
so the ordering of dispatch didn't matter.  (We would also need to assume
each send() function call wrote its payload atomically with regard to
other send() function calls, which I think is true, although I don't know
that it is actually guaranteed).




More information about the Libevent-users mailing list