diff --git a/src/qamqpclient.cpp b/src/qamqpclient.cpp index d2b9baf..a8dc142 100644 --- a/src/qamqpclient.cpp +++ b/src/qamqpclient.cpp @@ -53,6 +53,9 @@ void QAmqpClientPrivate::initSocket() { Q_Q(QAmqpClient); socket = new QSslSocket(q); + socket->setSocketOption(QAbstractSocket::LowDelayOption, 1); + socket->setSocketOption(QAbstractSocket::KeepAliveOption, 1); + QObject::connect(socket, SIGNAL(connected()), q, SLOT(_q_socketConnected())); QObject::connect(socket, SIGNAL(disconnected()), q, SLOT(_q_socketDisconnected())); QObject::connect(socket, SIGNAL(readyRead()), q, SLOT(_q_readyRead())); @@ -60,6 +63,8 @@ void QAmqpClientPrivate::initSocket() q, SLOT(_q_socketError(QAbstractSocket::SocketError))); QObject::connect(socket, SIGNAL(error(QAbstractSocket::SocketError)), q, SIGNAL(socketError(QAbstractSocket::SocketError))); + QObject::connect(socket, SIGNAL(stateChanged(QAbstractSocket::SocketState)), + q, SIGNAL(socketStateChanged(QAbstractSocket::SocketState))); QObject::connect(socket, SIGNAL(sslErrors(QList)), q, SIGNAL(sslErrors(QList))); } @@ -775,6 +780,12 @@ QAbstractSocket::SocketError QAmqpClient::socketError() const return d->socket->error(); } +QAbstractSocket::SocketState QAmqpClient::socketState() const +{ + Q_D(const QAmqpClient); + return d->socket->state(); +} + QAMQP::Error QAmqpClient::error() const { Q_D(const QAmqpClient); diff --git a/src/qamqpclient.h b/src/qamqpclient.h index 8fdde5f..7758685 100644 --- a/src/qamqpclient.h +++ b/src/qamqpclient.h @@ -84,6 +84,8 @@ public: QString customProperty(const QString &name) const; QAbstractSocket::SocketError socketError() const; + QAbstractSocket::SocketState socketState() const; + QAMQP::Error error() const; QString errorString() const; @@ -107,6 +109,7 @@ Q_SIGNALS: void disconnected(); void error(QAMQP::Error error); void socketError(QAbstractSocket::SocketError error); + void socketStateChanged(QAbstractSocket::SocketState state); void sslErrors(const QList &errors); public Q_SLOTS: