On 3 Jul 2014 at 7:40, pfultz2 wrote:
There is also a strong argument that anything in ASIO which isn't async needs to go.
Honestly, I think that the sync io could actually pave the way for replacing the iostreams mess. I have actually used file io built on top of asio's sync stream concepts. It actually works very nicely. I was actually able to read directly from files using `boost::asio::read`. The only thing missing was a Seekable concept for streams that can seek and report their position, which is important for implementing buffering.
You might have a look at AFIO too :) You can build non-blocking and synchronous i/o from a decent async i/o platform, as indeed QNX or the NT kernel have done. For standardisation purposes, I'd personally aim exclusively for async only and once that's satisfactory I'd build other abstractions on top. All that said, I agree that Boost.iostreams' fundamental design failure is that it wasn't built atop a 100% async i/o framework like ASIO. Which is a shame, as STL iostreams could do with being replaced. Niall -- ned Productions Limited Consulting http://www.nedproductions.biz/ http://ie.linkedin.com/in/nialldouglas/