|
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