|
Boost : |
From: Scott Woods (scottw_at_[hidden])
Date: 2004-12-29 14:37:36
----- Original Message -----
From: "Caleb Epstein" <caleb.epstein_at_[hidden]>
To: <boost_at_[hidden]>
Sent: Thursday, December 30, 2004 4:10 AM
Subject: Re: [boost] Re: Serialization and async messaging
> > I think Scott is saying that operator>> is insufficient because it can
> > not do a partial read of what is there... it wants to snarf all 4K.
>
> I think at least one person here is mixing pickles and milk, as my old
> Latin teacher used to say.
>
> Firstly, the serialization library doesn't use operator>> or
> operator<< at all. If you're using these operators on some sort of
> socket iostream and you don't want blocking to occur, thats your first
> mistake.
>
> When reading/writing data with sockets, its up to you to use an
> appropriate protocol that can detect "message" boundaries so you know
> when you have a complete block of data to work with. See for example
> the BEEP protocol (http://beepcore.org/) for a nice specification and
> implementation.
>
> Don't tightly couple this communications layer to the application
> layer. The two layers should just pass "complete" blocks of data
> (e.g. serialized objects) between each other.
At the core of the comments I have read, I believe that a common
problem has been identified. The separation of application-level
communications from the send+recv of blocks over a socket is
the abstract, while "operator>>... wants to snarf all 4K" is the
dirty guts of it?
Thanks for the reference. First review has me resigned to another
round of research.
Cheers.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk