Boost logo

Boost :

From: Dean Michael Berris (mikhailberis_at_[hidden])
Date: 2007-04-25 02:44:35


Hi Guys,

I'm currently working on a type-safe memcache client library using
Boost.Asio (Friendster has plans on open sourcing it, but we're
continuing developing in house before doing so, to make it more
feature-full). Having said this, it involves having to write the
network layer stuff and I've chosen to use Boost.Asio.

We've been fairly successful so far, we currently have a working
library (header only) already using Boost.Serialization + Boost.Spirit
+ Boost.Asio + Many Boost C++ Libraries and we're looking at putting a
few more features in. One of these features is the ability to make a
request to the server, and time-out after a short period of time
(configurable, defaults to 1 second).

For a myriad of reasons, we're using blocking API calls
(boost::asio::read_until and boost::asio::write) but these API calls
don't seem to readily have a way of setting a timeout value -- one
that says "try reading until either the response matches this... or
throw an error after 1 second if you don't get a response from the
server".

Would there be a different way of going about it, aside from using
asynchronous operations?

Advice and insight would be most appreciated.

-- 
Dean Michael C. Berris
http://cplusplus-soup.blogspot.com/
mikhailberis AT gmail DOT com
+63 928 7291459

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