qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gordon Sim" <g...@redhat.com>
Subject Re: Review Request 21234: QPID-5747: ensure that outgoing connection failure is communicated to upper level
Date Tue, 13 May 2014 15:34:54 GMT

This is an automatically generated e-mail. To reply, visit:

(Updated May 13, 2014, 3:34 p.m.)

Review request for qpid, Andrew Stitcher and Pavel Moravec.


This patch shows the alternative option. The codec for outgoing connections is created on
establishing the connection, a new flag is added to track whether we have written out the
protocol header for such connections. This means the codec is always available on disconnect.

Again, make test passes; original issue doesn't reproduce

Bugs: QPID-5747

Repository: qpid


The failed callback passed in to Broker::connect() is only used until the TCP connection is
established. The codec (i.e. qpid::broker::Connection object) is only created the first time
the connection is writable. If the connection fails between establishing the tcp connection
and determining that it is writable, then there is no way to communicate the failure.

This option fixes that by creating the codec object on disconnect if it hasn't already been
created (and the connection is an outgoing one).

(Another option I think would be to create the codec for outgoing connections on AsyncHandler::init(),
and add another flag to track whether the protocol header had been sent.)

Diffs (updated)

  /trunk/qpid/cpp/src/qpid/sys/AsynchIOHandler.h 1594220 
  /trunk/qpid/cpp/src/qpid/sys/AsynchIOHandler.cpp 1594220 

Diff: https://reviews.apache.org/r/21234/diff/


make test passes; original issue doesn't reproduce


Gordon Sim

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message