Use Future.cause() for completion checking 62/102762/1
authorRobert Varga <robert.varga@pantheon.tech>
Tue, 18 Oct 2022 18:45:14 +0000 (20:45 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Wed, 19 Oct 2022 22:50:44 +0000 (00:50 +0200)
We know the future has completed, hence nullability of Future.cause()
is a quicker check for success.

Change-Id: Ie7baadb7fd744a8b7cfd58b01097997e71045ccd
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit 44d23b752c46b110188ebc9371a0d459c408bebc)

netconf/netconf-netty-util/src/main/java/org/opendaylight/netconf/nettyutil/AbstractNetconfSessionNegotiator.java

index a8014974b533364e5e48f8bbce62b33059df329b..68fddfc74c6677eff605b2d4913fb2741bab72fb 100644 (file)
@@ -341,11 +341,12 @@ public abstract class AbstractNetconfSessionNegotiator<P extends NetconfSessionP
      *
      * @param msg Message which should be sent.
      */
-    protected final void sendMessage(final NetconfMessage msg) {
-        this.channel.writeAndFlush(msg).addListener(f -> {
-            if (!f.isSuccess()) {
-                LOG.info("Failed to send message {} on channel {}", msg, channel, f.cause());
-                negotiationFailed(f.cause());
+    protected void sendMessage(final NetconfMessage msg) {
+        channel.writeAndFlush(msg).addListener(f -> {
+            final var cause = f.cause();
+            if (cause != null) {
+                LOG.info("Failed to send message {} on channel {}", msg, channel, cause);
+                negotiationFailed(cause);
             } else {
                 LOG.trace("Message {} sent to socket on channel {}", msg, channel);
             }