import io.netty.util.HashedWheelTimer;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
-import javax.annotation.Nonnull;
+import java.util.concurrent.ExecutorService;
+import org.eclipse.jdt.annotation.NonNull;
import org.opendaylight.openflowplugin.api.openflow.OFPContext;
import org.opendaylight.openflowplugin.api.openflow.device.DeviceContext;
import org.opendaylight.openflowplugin.api.openflow.device.DeviceInfo;
private final ConcurrentMap<DeviceInfo, RoleContext> contexts = new ConcurrentHashMap<>();
private final HashedWheelTimer timer;
private final OpenflowProviderConfig config;
+ private final ExecutorService executorService;
public RoleManagerImpl(final HashedWheelTimer timer,
- final OpenflowProviderConfig config) {
+ final OpenflowProviderConfig config,
+ final ExecutorService executorService) {
this.timer = timer;
this.config = config;
+ this.executorService = executorService;
}
@Override
- public RoleContext createContext(@Nonnull final DeviceContext deviceContext) {
+ public RoleContext createContext(@NonNull final DeviceContext deviceContext) {
final DeviceInfo deviceInfo = deviceContext.getDeviceInfo();
final RoleContextImpl roleContext = new RoleContextImpl(
deviceContext.getDeviceInfo(),
- timer, CHECK_ROLE_MASTER_TIMEOUT, config);
+ timer, CHECK_ROLE_MASTER_TIMEOUT, config, executorService);
roleContext.setRoleService(new SalRoleServiceImpl(roleContext, deviceContext));
contexts.put(deviceInfo, roleContext);