-----------------------------------------------------------
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