[asio] Breaking changes committed to cvs HEAD
I have just committed some asio changes to cvs HEAD that will break application code. These changes are part of what's needed to bring the interface into sync with the TR2 proposal. The big change is to the error handling classes, as described below. An async handler of the form: void my_handler(const boost::asio::error& e); becomes: void my_handler(const boost::system::error_code& e); Synchronous error handling like this: boost::asio::error e; sock.connect(ep, boost::asio::assign_error(e)); becomes: boost::system::error_code e; sock.connect(ep, e); And where previously a boost::asio::error exception was thrown, the new exception thrown is boost::system::system_error. Error constants like boost::asio::error::eof stay as they are, i.e.: void my_handler(const boost::system::error_code& e) { if (e == boost::asio::error::eof) { ... } } Programs will now need to link against the boost.system library (which is where boost::system::error_code and boost::system::system_error reside). Once I do a few more TR2-related changes I will post regenerated doxygen documentation to the vault. Stay tuned. Cheers, Chris
participants (1)
-
Christopher Kohlhoff