Sakra, asio znam a nekolikrat jsem v nem uz delal, bohuzel mi uniklo, ze to umi i windows-pipe, coz jsem se prave ted dozvedel. Situaci je takova, ze to mam napsane one-thread per client i s timeouty a automatickym pripojovanim (join) threadu. (Memory leaky zatim zadne, testovano ve Valgrindu). Mam tam funkci send(), a received() momentalne je delanej jako callback (zdedena trida a ciste virtualni funkce). Jde o to, ze by se mi hodilo, aby se to chovalo jako stream misto toho send() a received().
Jinak to Boost.Iostreams urcite zkouknu. Vypada to slibne.
PS: Kdyz uz jsme u knihovny asio, znate taky Erlang? Uzasny paralelne asynchronni jazyk.