Boost logo

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 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 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,

Opinions expressed here are my own and do not necessarily represent those of
BlackBerry Inc.

Boost list run by bdawes at, gregod at, cpdaniel at, john at