|
Boost : |
Subject: [boost] Tips to fix boost::asio::windows::random_access_handle which is seriously broken
From: Niall Douglas (ndouglas_at_[hidden])
Date: 2013-06-13 11:22:12
Dear Boost,
The forthcoming GSoC Boost.AFIO library has found a problem with
boost::asio::windows::random_access_handle in that it appears to clamp
buffer sizes to 64Kb and not increment overlapped offsets during
multi-buffer reads and writes, and which is reported at
https://svn.boost.org/trac/boost/ticket/8669. These are desirable features
for network i/o, not so for file i/o.
As my work on the existing code base which Paul is porting to Boost is now
complete and purring beautifully on POSIX, I'm thinking I might as well go
fix the Boost.ASIO Windows IOCP problem. Before I begin, can I ask here if
anyone else has done some work on this topic from which I might be able to
borrow? The thread at
http://comments.gmane.org/gmane.comp.lib.boost.asio.user/3676 suggests that
if I use async_write_some() then I can bypass the 64Kb clamp using "my own
completion condition". I'm thinking that
boost::asio::windows::random_access_handle really ought to actually
implement random access, so rather than hacking around the problem, fixing
boost::asio::windows::random_access_handle is better.
My thanks in advance,
Niall
--- Opinions expressed here are my own and do not necessarily represent those of BlackBerry Inc.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk