summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/client
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/qpid/client')
-rw-r--r--cpp/src/qpid/client/Connector.cpp15
-rw-r--r--cpp/src/qpid/client/Connector.h12
2 files changed, 14 insertions, 13 deletions
diff --git a/cpp/src/qpid/client/Connector.cpp b/cpp/src/qpid/client/Connector.cpp
index 8e2ff9a09c..3447467fda 100644
--- a/cpp/src/qpid/client/Connector.cpp
+++ b/cpp/src/qpid/client/Connector.cpp
@@ -37,7 +37,6 @@ Connector::Connector(
send_buffer_size(buffer_size),
version(ver),
closed(true),
- lastIn(0), lastOut(0),
timeout(0),
idleIn(0), idleOut(0),
timeoutHandler(0),
@@ -100,7 +99,7 @@ void Connector::writeToSocket(char* data, size_t available){
while(written < available && !closed){
ssize_t sent = socket.send(data + written, available-written);
if(sent > 0) {
- lastOut = now() * TIME_MSEC;
+ lastOut = now();
written += sent;
}
}
@@ -124,9 +123,9 @@ bool Connector::markClosed(){
void Connector::checkIdle(ssize_t status){
if(timeoutHandler){
- Time t = now() * TIME_MSEC;
+ AbsTime t = now();
if(status == Socket::SOCKET_TIMEOUT) {
- if(idleIn && (t - lastIn > idleIn)){
+ if(idleIn && (Duration(lastIn, t) > idleIn)){
timeoutHandler->idleIn();
}
}
@@ -136,14 +135,14 @@ void Connector::checkIdle(ssize_t status){
else {
lastIn = t;
}
- if(idleOut && (t - lastOut > idleOut)){
+ if(idleOut && (Duration(lastOut, t) > idleOut)){
timeoutHandler->idleOut();
}
}
}
void Connector::setReadTimeout(uint16_t t){
- idleIn = t * 1000;//t is in secs
+ idleIn = t * TIME_SEC;//t is in secs
if(idleIn && (!timeout || idleIn < timeout)){
timeout = idleIn;
setSocketTimeout();
@@ -152,7 +151,7 @@ void Connector::setReadTimeout(uint16_t t){
}
void Connector::setWriteTimeout(uint16_t t){
- idleOut = t * 1000;//t is in secs
+ idleOut = t * TIME_SEC;//t is in secs
if(idleOut && (!timeout || idleOut < timeout)){
timeout = idleOut;
setSocketTimeout();
@@ -160,7 +159,7 @@ void Connector::setWriteTimeout(uint16_t t){
}
void Connector::setSocketTimeout(){
- socket.setTimeout(timeout*TIME_MSEC);
+ socket.setTimeout(timeout);
}
void Connector::setTimeoutHandler(TimeoutHandler* handler){
diff --git a/cpp/src/qpid/client/Connector.h b/cpp/src/qpid/client/Connector.h
index 10bde1b8ea..56eea95dd1 100644
--- a/cpp/src/qpid/client/Connector.h
+++ b/cpp/src/qpid/client/Connector.h
@@ -30,8 +30,10 @@
#include "qpid/sys/ShutdownHandler.h"
#include "qpid/sys/TimeoutHandler.h"
#include "qpid/sys/Thread.h"
+#include "qpid/sys/Runnable.h"
#include "qpid/sys/Monitor.h"
#include "qpid/sys/Socket.h"
+#include "qpid/sys/Time.h"
namespace qpid {
@@ -48,11 +50,11 @@ class Connector : public framing::OutputHandler,
bool closed;
sys::Mutex closedLock;
- int64_t lastIn;
- int64_t lastOut;
- int64_t timeout;
- uint32_t idleIn;
- uint32_t idleOut;
+ sys::AbsTime lastIn;
+ sys::AbsTime lastOut;
+ sys::Duration timeout;
+ sys::Duration idleIn;
+ sys::Duration idleOut;
sys::TimeoutHandler* timeoutHandler;
sys::ShutdownHandler* shutdownHandler;