I notice there's a random_access_handle on windows, and is needed in order to use functions like async_read_some_at. 

Am I missing some obvious reason why there is not an analagous random access handle for posix systems?  I guess I can define my own posix::random_access_handle, posix::basic_random_access_handle, posix::random_access_handle_service just like is done for windows, but i don't see why there is anything windows-specific about random access handles in the first place.

Ultimately I need to be able to perform random access asynchronous file i/o on both linux and windows using a single codebase.

Any advice appreciated.