[Libevent-users] Re: IOCP writes

William Ahern william at 25thandClement.com
Thu Feb 22 17:27:57 EST 2007


On Thu, Feb 22, 2007 at 09:01:00PM +0000, Toby Douglass wrote:
> However, I've just realized that it may make no difference.
> 
> Writing to a UDP socket should never block; agreed.
> 
> However, that multiple concurrent writes (one socket, many writer 
> threads) can occur, and so the internal mechanics of the IOCP API must 
> support that behaviour (assume we have enough bandwidth and the write 
> rate is low enough that we're not dropping packets).
> 
> If I only have a single overlapped structure for writes, I cannot 
> support that behaviour.
> 
> So I have to malloc the overlapped structure per write (or have the user 
> pass one in).

I admittedly don't no anything about IOCP. What I do no is that it doesn't
make sense to use any other function call then send() or sendto() to write
out UDP data. So whatever API your writing around IOCP, it should
short-circuit for UDP writes; just call send() to sendto().

But, that's all I'll say for now, since eventually I'm just going to look
foolish for my lack of IOCP knowledge.



More information about the Libevent-users mailing list