Switch to yangtools-provided mockito configuration
[bgpcep.git] / framework / src / main / java / org / opendaylight / protocol / framework / ProtocolSessionPromise.java
index 4d2fab3f4ce3a6ad438677adf27ed12633c2fea1..70669982962b54bed881579ed17c7eabeb9d1c6c 100644 (file)
@@ -12,6 +12,7 @@ import io.netty.channel.ChannelFuture;
 import io.netty.channel.ChannelFutureListener;
 import io.netty.channel.ChannelOption;
 import io.netty.util.concurrent.DefaultPromise;
+import io.netty.util.concurrent.EventExecutor;
 import io.netty.util.concurrent.Future;
 import io.netty.util.concurrent.FutureListener;
 import io.netty.util.concurrent.Promise;
@@ -36,7 +37,9 @@ final class ProtocolSessionPromise<S extends ProtocolSession<?>> extends Default
        @GuardedBy("this")
        private Future<?> pending;
 
-       ProtocolSessionPromise(final InetSocketAddress address, final ReconnectStrategy strategy, final Bootstrap b) {
+       ProtocolSessionPromise(final EventExecutor executor, final InetSocketAddress address, final ReconnectStrategy strategy,
+                       final Bootstrap b) {
+               super(executor);
                this.strategy = Preconditions.checkNotNull(strategy);
                this.address = Preconditions.checkNotNull(address);
                this.b = Preconditions.checkNotNull(b);
@@ -59,7 +62,7 @@ final class ProtocolSessionPromise<S extends ProtocolSession<?>> extends Default
                                                LOG.debug("Promise {} connection resolved", lock);
 
                                                // Triggered when a connection attempt is resolved.
-                                               Preconditions.checkState(ProtocolSessionPromise.this.pending == cf);
+                                               Preconditions.checkState(ProtocolSessionPromise.this.pending.equals(cf));
 
                                                /*
                                                 * The promise we gave out could have been cancelled,
@@ -79,13 +82,14 @@ final class ProtocolSessionPromise<S extends ProtocolSession<?>> extends Default
                                                }
 
                                                if (!cf.isSuccess()) {
+                                                       LOG.info("Attempt to connect to connect to {} failed", ProtocolSessionPromise.this.address, cf.cause());
                                                        final Future<Void> rf = ProtocolSessionPromise.this.strategy.scheduleReconnect(cf.cause());
                                                        rf.addListener(new FutureListener<Void>() {
                                                                @Override
                                                                public void operationComplete(final Future<Void> sf) {
                                                                        synchronized (lock) {
                                                                                // Triggered when a connection attempt is to be made.
-                                                                               Preconditions.checkState(ProtocolSessionPromise.this.pending == sf);
+                                                                               Preconditions.checkState(ProtocolSessionPromise.this.pending.equals(sf));
 
                                                                                /*
                                                                                 * The promise we gave out could have been cancelled,
@@ -114,6 +118,7 @@ final class ProtocolSessionPromise<S extends ProtocolSession<?>> extends Default
                                }
                        });
                } catch (final Exception e) {
+                       LOG.info("Failed to connect to {}", e);
                        setFailure(e);
                }
        }