summaryrefslogtreecommitdiff
path: root/qpid/cpp/src
diff options
context:
space:
mode:
authorAndrew Stitcher <astitcher@apache.org>2010-01-21 06:15:40 +0000
committerAndrew Stitcher <astitcher@apache.org>2010-01-21 06:15:40 +0000
commit17f3ffd54657e13c46c840dcb1990767721a1d0a (patch)
tree8d6ce0fae1bfbb4f563cca3eef7e96233dda7e30 /qpid/cpp/src
parentf1d40e3bacf4bf3bec9ed90b86ae3737ddc439ff (diff)
downloadqpid-python-17f3ffd54657e13c46c840dcb1990767721a1d0a.tar.gz
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
Diffstat (limited to 'qpid/cpp/src')
-rw-r--r--qpid/cpp/src/qpid/sys/posix/AsynchIO.cpp17
1 files changed, 8 insertions, 9 deletions
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();
}