- private Set<OFPContext> contexts = new ConcurrentSet<>();
- private StatisticsContext statisticsContext;
- private DeviceContext deviceContext;
- private RpcContext rpcContext;
- private LifecycleService lifecycleService;
- private DeviceInfo deviceInfo;
- private ConnectionContext primaryConnection;
- private Set<ConnectionContext> auxiliaryConnections = new ConcurrentSet<>();
-
- private volatile ContextChainState contextChainState;
+ private final AtomicBoolean masterStateOnDevice = new AtomicBoolean(false);
+ private final AtomicBoolean initialGathering = new AtomicBoolean(false);
+ private final AtomicBoolean initialSubmitting = new AtomicBoolean(false);
+ private final AtomicBoolean registryFilling = new AtomicBoolean(false);
+ private final AtomicBoolean rpcRegistration = new AtomicBoolean(false);
+ private final List<DeviceRemovedHandler> deviceRemovedHandlers = new CopyOnWriteArrayList<>();
+ private final List<GuardedContext> contexts = new CopyOnWriteArrayList<>();
+ private final List<ConnectionContext> auxiliaryConnections = new CopyOnWriteArrayList<>();
+ private final ExecutorService executorService;
+ private final ContextChainMastershipWatcher contextChainMastershipWatcher;
+ private final DeviceInfo deviceInfo;
+ private final ConnectionContext primaryConnection;
+ private final AtomicReference<ContextChainState> contextChainState =
+ new AtomicReference<>(ContextChainState.UNDEFINED);
+ private AutoCloseable registration;