You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@apr.apache.org by Ivan Zhakov <ch...@gmail.com> on 2006/04/11 10:58:47 UTC
Value of APR_MAX_IOVEC_SIZE constant on Windows
Hi,
I've noticed that APR_MAX_IOVEC_SIZE constant is defined to 1024 on
Windows. Current trunk uses Async I/O only for sockets. But
theoretical limitation of buffers count is WSA_MAXIMUM_WAIT_EVENTS,
which is 64.
It is not limitation of WSASend and WSARecv itself, it is limitation
WSAWaitForMultipleEvents (and WaitForMultipleEvents).
I know that APR doesn't use this function at present time, but I
consider better to define APR_MAX_IOVEC_SIZE to
WSA_MAXIMUM_WAIT_EVENTS (or MAXIMUM_WAIT_EVENTS) for eliminate future
problems.
--
Ivan Zhakov
Re: Value of APR_MAX_IOVEC_SIZE constant on Windows
Posted by "William A. Rowe, Jr." <wr...@rowe-clan.net>.
> On 4/11/06, Ivan Zhakov <ch...@gmail.com> wrote:
>
>>Hi,
>>I've noticed that APR_MAX_IOVEC_SIZE constant is defined to 1024 on
>>Windows. Current trunk uses Async I/O only for sockets. But
>>theoretical limitation of buffers count is WSA_MAXIMUM_WAIT_EVENTS,
>>which is 64.
>>It is not limitation of WSASend and WSARecv itself, it is limitation
>>WSAWaitForMultipleEvents (and WaitForMultipleEvents).
>>I know that APR doesn't use this function at present time, but I
>>consider better to define APR_MAX_IOVEC_SIZE to
>>WSA_MAXIMUM_WAIT_EVENTS (or MAXIMUM_WAIT_EVENTS) for eliminate future
>>problems.
As much as that makes sense, it's an unreasonable system-imposed contraint
on the Windows platform... we've worked quite hard at -breaking- that barrier,
so I'd be very uncomfortable with reintroducing it :/
Re: Value of APR_MAX_IOVEC_SIZE constant on Windows
Posted by Ivan Zhakov <ch...@gmail.com>.
On 4/11/06, Garrett Rooney <ro...@electricjellyfish.net> wrote:
> On 4/11/06, Ivan Zhakov <ch...@gmail.com> wrote:
> > Hi,
> > I've noticed that APR_MAX_IOVEC_SIZE constant is defined to 1024 on
> > Windows. Current trunk uses Async I/O only for sockets. But
> > theoretical limitation of buffers count is WSA_MAXIMUM_WAIT_EVENTS,
> > which is 64.
> > It is not limitation of WSASend and WSARecv itself, it is limitation
> > WSAWaitForMultipleEvents (and WaitForMultipleEvents).
> > I know that APR doesn't use this function at present time, but I
> > consider better to define APR_MAX_IOVEC_SIZE to
> > WSA_MAXIMUM_WAIT_EVENTS (or MAXIMUM_WAIT_EVENTS) for eliminate future
> > problems.
>
> That seems reasonable to me, care to produce a patch?
>
No problem to prepare patch, but William have objections.
--
Ivan Zhakov
Re: Value of APR_MAX_IOVEC_SIZE constant on Windows
Posted by Garrett Rooney <ro...@electricjellyfish.net>.
On 4/11/06, Ivan Zhakov <ch...@gmail.com> wrote:
> Hi,
> I've noticed that APR_MAX_IOVEC_SIZE constant is defined to 1024 on
> Windows. Current trunk uses Async I/O only for sockets. But
> theoretical limitation of buffers count is WSA_MAXIMUM_WAIT_EVENTS,
> which is 64.
> It is not limitation of WSASend and WSARecv itself, it is limitation
> WSAWaitForMultipleEvents (and WaitForMultipleEvents).
> I know that APR doesn't use this function at present time, but I
> consider better to define APR_MAX_IOVEC_SIZE to
> WSA_MAXIMUM_WAIT_EVENTS (or MAXIMUM_WAIT_EVENTS) for eliminate future
> problems.
That seems reasonable to me, care to produce a patch?
-garrett