Boost logo

Boost :

From: Stefan Seefeld (seefeld_at_[hidden])
Date: 2005-04-22 10:17:14


pedro.lamarao_at_[hidden] wrote:

> Exposing a "socket" class is a requirement only if the proposed library
> wants to try to interface with old, "hybrid" code, provide the
> possibility for some kind of "extension" I really can't think of. A
> C++-only library could just not have a "socket" class, or consider it
> "private", and expose as the most basic thing the stream buffer. If you
> don't need the buffering itself, call pubsetbuf(0, 0).

I agree that streambuf is the right buffer concept for TCP sockets.
I have used a 'sockstreambuf' class in the past that allows both,
the data to be managed by a streambuf, as well as plug in socket-
specific APIs such as all the BSD socket API.

It has worked quite well, for example it allowed me to create
a temporary std::istream on top of it to read out data in a
'input available' callback.

FWIW,
                Stefan


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk