> On May 12, 2014, 3:15 p.m., Andrew Stitcher wrote: > > /trunk/qpid/cpp/src/qpid/sys/AsynchIOHandler.cpp, line 210 > > <https://reviews.apache.org/r/21234/diff/1/?file=577068#file577068line210> > > > > According to my preferred scheme: > > > > You'd get rid of the codec creation here, but instead assert: > > > > assert(codec);
A correction: this would actually need a new flag to say the connection has not been initialised. Oh - I just noticed your original comments and see you preempted me, sorry for the noise! - Andrew ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/21234/#review42697 ----------------------------------------------------------- On May 8, 2014, 8:04 p.m., Gordon Sim wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/21234/ > ----------------------------------------------------------- > > (Updated May 8, 2014, 8:04 p.m.) > > > Review request for qpid, Andrew Stitcher and Pavel Moravec. > > > 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 > ----- > > /trunk/qpid/cpp/src/qpid/sys/AsynchIOHandler.cpp 1593267 > > Diff: https://reviews.apache.org/r/21234/diff/ > > > Testing > ------- > > make test passes; original issue doesn't reproduce > > > Thanks, > > Gordon Sim > >
