-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/21234/
-----------------------------------------------------------

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


Review request for qpid, Andrew Stitcher and Pavel Moravec.


Changes
-------

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
    https://issues.apache.org/jira/browse/QPID-5747


Repository: qpid


Description
-------

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/


Testing
-------

make test passes; original issue doesn't reproduce


Thanks,

Gordon Sim

Reply via email to