Tips to fix boost::asio::windows::random_access_handle which is seriously broken
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.
participants (1)
-
Niall Douglas