From 17f3ffd54657e13c46c840dcb1990767721a1d0a Mon Sep 17 00:00:00 2001 From: Andrew Stitcher Date: Thu, 21 Jan 2010 06:15:40 +0000 Subject: Small refactor of AsynchConnector to have a more regular structure git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@901548 13f79535-47bb-0310-9956-ffa450edef68 --- qpid/cpp/src/qpid/sys/posix/AsynchIO.cpp | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) (limited to 'qpid/cpp/src') diff --git a/qpid/cpp/src/qpid/sys/posix/AsynchIO.cpp b/qpid/cpp/src/qpid/sys/posix/AsynchIO.cpp index 5ffe9b2b11..beb647afe6 100644 --- a/qpid/cpp/src/qpid/sys/posix/AsynchIO.cpp +++ b/qpid/cpp/src/qpid/sys/posix/AsynchIO.cpp @@ -144,7 +144,7 @@ class AsynchConnector : public qpid::sys::AsynchConnector, private: void connComplete(DispatchHandle& handle); - void failure(int, const std::string&); + void syncFailure(); private: ConnectedCallback connCallback; @@ -189,27 +189,26 @@ void AsynchConnector::start(Poller::shared_ptr poller) startWatch(poller); // If we previously detected an error insert failure callback now if ( !errMsg.empty() ) { - DispatchHandle::call(boost::bind(&AsynchConnector::failure, this, -1, errMsg)); + DispatchHandle::call(boost::bind(&AsynchConnector::syncFailure, this)); } } void AsynchConnector::connComplete(DispatchHandle& h) { - int errCode = socket.getError(); - h.stopWatch(); + int errCode = socket.getError(); if (errCode == 0) { connCallback(socket); - DispatchHandle::doDelete(); } else { - failure(errCode, strError(errCode)); + failCallback(socket, errCode, strError(errCode)); } + DispatchHandle::doDelete(); } -void AsynchConnector::failure(int errCode, const std::string& message) +void AsynchConnector::syncFailure() { - failCallback(socket, errCode, message); - + DispatchHandle::stopWatch(); + failCallback(socket, -1, errMsg); DispatchHandle::doDelete(); } -- cgit v1.2.1