From: Maxim Yegorushkin (e-maxim_at_[hidden])
Date: 2005-06-13 02:46:54
On Fri, 10 Jun 2005 03:10:26 +0400, Caleb Epstein
> Sockets are not files, and I think to treat them identically, and
> build a library assuming that iostreams is the lowest level interface
> anyone could want to use is folly. There are large, measurable,
> performance trade-offs associated with iostreams compared to C stdio
> operations on every platform I have encountered, and similarly when
> compared to the low level system read and write (or send/recv) calls.
> I write high speed, network-centric, message-driven applications for a
> living. I would not be able to write applications that scale properly
> using a purely iostreams based interface to the network. The high
> level abstractions are nice for simpler applications, but they simply
> don't work well when you need to scale to managing many hundreds of
> connections and guaranteeing a certain quality of service to each. A
> blocking I/O model is not acceptable for my uses.
IMO, sockets is a border area for boost whose "emphasis is on libraries
which work well with the C++ Standard Library". C++ Standard Library
itself does not work well with sockets or, more precisely, does not offer
low fat async input / output abstractions.
-- Maxim Yegorushkin
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk