Author: kgiusti
Date: Fri Feb  6 21:10:24 2015
New Revision: 1657964

URL: http://svn.apache.org/r1657964
Log:
QPID-5538: patch to work with older version of proton (0.7)

Modified:
    qpid/trunk/qpid/cpp/src/qpid/broker/amqp/Connection.cpp
    qpid/trunk/qpid/cpp/src/qpid/messaging/amqp/ConnectionContext.cpp

Modified: qpid/trunk/qpid/cpp/src/qpid/broker/amqp/Connection.cpp
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/amqp/Connection.cpp?rev=1657964&r1=1657963&r2=1657964&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/amqp/Connection.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/amqp/Connection.cpp Fri Feb  6 21:10:24 
2015
@@ -221,7 +221,11 @@ size_t Connection::decode(const char* bu
         }
         return n;
     } else if (n == PN_ERR) {
-        throw Exception(qpid::amqp::error_conditions::DECODE_ERROR, 
QPID_MSG("Error on input: " << getError()));
+        std::string error;
+        checkTransportError(error);
+        QPID_LOG_CAT(error, network, id << " connection error: " << error);
+        out.abort();
+        return 0;
     } else {
         return 0;
     }
@@ -246,7 +250,11 @@ size_t Connection::encode(char* buffer,
         }
         return 0;
     } else if (n == PN_ERR) {
-        throw Exception(qpid::amqp::error_conditions::INTERNAL_ERROR, 
QPID_MSG("Error on output: " << getError()));
+        std::string error;
+        checkTransportError(error);
+        QPID_LOG_CAT(error, network, id << " connection error: " << error);
+        out.abort();
+        return 0;
     } else {
         haveOutput = false;
         return 0;

Modified: qpid/trunk/qpid/cpp/src/qpid/messaging/amqp/ConnectionContext.cpp
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/messaging/amqp/ConnectionContext.cpp?rev=1657964&r1=1657963&r2=1657964&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/messaging/amqp/ConnectionContext.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/messaging/amqp/ConnectionContext.cpp Fri Feb  
6 21:10:24 2015
@@ -793,7 +793,11 @@ std::size_t ConnectionContext::decodePla
         lock.notifyAll();
         return n;
     } else if (n == PN_ERR) {
-        throw MessagingException(QPID_MSG("Error on input: " << getError()));
+        std::string error;
+        checkTransportError(error);
+        QPID_LOG_CAT(error, network, id << " connection error: " << error);
+        transport->abort();
+        return 0;
     } else {
         return 0;
     }
@@ -818,7 +822,11 @@ std::size_t ConnectionContext::encodePla
         if (notifyOnWrite) lock.notifyAll();
         return n;
     } else if (n == PN_ERR) {
-        throw MessagingException(QPID_MSG("Error on output: " << getError()));
+        std::string error;
+        checkTransportError(error);
+        QPID_LOG_CAT(error, network, id << " connection error: " << error);
+        transport->abort();
+        return 0;
     } else if (n == PN_EOS) {
         haveOutput = false;
         // Normal close, or error?



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@qpid.apache.org
For additional commands, e-mail: commits-h...@qpid.apache.org

Reply via email to