Subject: Re: [boost] [asio] Pass some parameter to io_service::run
From: James Mansion (james_at_[hidden])
Date: 2010-01-10 14:28:31


Dmytro Ovdiienko wrote:
> If number of sockets = 60 and worker_count = 4, I have only 4
> incoming_buffers and 4 message_parsers.
>
> With Boost Asio I will have 60 incomming buffers. Though it is not a
> problem. Buffer size is 64k. The problem is message_parser. It uses
> ~5MB ...maybe more.
>
If you can currently get away with a parser bound to each worker, then
why does that need
to change when using asio?

I don't understand why you would have an objection to a permanent
binding with TLS or
a temporary binding using a pool of parsers, since it seems that each
datagram must be
parsed entirely and then the parser reset for the next? You said the
parsers are stateful
but I don't see how that can be without a great deal of pain with UDP as
a result of packet
loss or reordering.

Those receiver buffers are large for UDP. Are you expecting packets to
survive fragmentation
reliably?

James