* terms of the Eclipse Public License v1.0 which accompanies this distribution,
* and is available at http://www.eclipse.org/legal/epl-v10.html
*/
-
package org.opendaylight.openflowjava.protocol.impl.core;
-import com.google.common.base.Preconditions;
+import static java.util.Objects.requireNonNull;
+
import com.google.common.util.concurrent.ListenableFuture;
import com.google.common.util.concurrent.SettableFuture;
import io.netty.bootstrap.Bootstrap;
*
* @author martin.uhlir
*/
-public class TcpConnectionInitializer implements ServerFacade,
- ConnectionInitializer {
+public class TcpConnectionInitializer implements ServerFacade, ConnectionInitializer {
+
+ private static final Logger LOG = LoggerFactory.getLogger(TcpConnectionInitializer.class);
- private static final Logger LOG = LoggerFactory
- .getLogger(TcpConnectionInitializer.class);
private final EventLoopGroup workerGroup;
- private ThreadConfiguration threadConfig;
+ private final boolean isEpollEnabled;
+ private final SettableFuture<Boolean> hasRun = SettableFuture.create();
private TcpChannelInitializer channelInitializer;
private Bootstrap bootstrap;
- private final boolean isEpollEnabled;
/**
* Constructor.
* @param workerGroup - shared worker group
*/
public TcpConnectionInitializer(EventLoopGroup workerGroup, boolean isEpollEnabled) {
- Preconditions.checkNotNull(workerGroup, "WorkerGroup can't be null");
- this.workerGroup = workerGroup;
+ this.workerGroup = requireNonNull(workerGroup, "WorkerGroup can't be null");
this.isEpollEnabled = isEpollEnabled;
}
public void run() {
bootstrap = new Bootstrap();
if (isEpollEnabled) {
- bootstrap.group(workerGroup).channel(EpollSocketChannel.class)
- .handler(channelInitializer);
+ bootstrap.group(workerGroup).channel(EpollSocketChannel.class).handler(channelInitializer);
} else {
- bootstrap.group(workerGroup).channel(NioSocketChannel.class)
- .handler(channelInitializer);
+ bootstrap.group(workerGroup).channel(NioSocketChannel.class).handler(channelInitializer);
}
+ hasRun.set(true);
}
@Override
@Override
public ListenableFuture<Boolean> getIsOnlineFuture() {
- return null;
+ return hasRun;
}
@Override
public void setThreadConfig(ThreadConfiguration threadConfig) {
- this.threadConfig = threadConfig;
+ // IGNORE
}
@Override