public void operationComplete(ChannelFuture channelFuture) throws Exception {
LOG.trace("Operation complete {}", channelFuture);
if (!channelFuture.isSuccess()) {
// no success the set the caused exception and signal callback and break
exchange.setException(channelFuture.getCause());
producerCallback.done(false);
return;
}
// if we do not expect any reply then signal callback to continue routing
if (!configuration.isSync()) {