-
- public RpcContextImpl(final RpcProviderRegistry rpcProviderRegistry,
- final XidSequencer xidSequencer,
- final MessageSpy messageSpy,
- final int maxRequests,
- final KeyedInstanceIdentifier<Node, NodeKey> nodeInstanceIdentifier) {
- this.xidSequencer = Preconditions.checkNotNull(xidSequencer);
- this.messageSpy = Preconditions.checkNotNull(messageSpy);
- this.rpcProviderRegistry = Preconditions.checkNotNull(rpcProviderRegistry);
- this.nodeInstanceIdentifier = nodeInstanceIdentifier;
-
- tracker = new Semaphore(maxRequests, true);
+ private volatile ContextState state = ContextState.INITIALIZATION;
+ private final DeviceInfo deviceInfo;
+ private final DeviceContext deviceContext;
+ private final ExtensionConverterProvider extensionConverterProvider;
+ private final ConvertorExecutor convertorExecutor;
+ private final NotificationPublishService notificationPublishService;
+
+ RpcContextImpl(@Nonnull final RpcProviderRegistry rpcProviderRegistry,
+ final int maxRequests,
+ @Nonnull final DeviceContext deviceContext,
+ @Nonnull final ExtensionConverterProvider extensionConverterProvider,
+ @Nonnull final ConvertorExecutor convertorExecutor,
+ @Nonnull final NotificationPublishService notificationPublishService,
+ boolean statisticsRpcEnabled) {
+ this.deviceContext = deviceContext;
+ this.deviceInfo = deviceContext.getDeviceInfo();
+ this.nodeInstanceIdentifier = deviceContext.getDeviceInfo().getNodeInstanceIdentifier();
+ this.messageSpy = deviceContext.getMessageSpy();
+ this.rpcProviderRegistry = rpcProviderRegistry;
+ this.extensionConverterProvider = extensionConverterProvider;
+ this.notificationPublishService = notificationPublishService;
+ this.convertorExecutor = convertorExecutor;
+ this.isStatisticsRpcEnabled = statisticsRpcEnabled;
+ this.tracker = new Semaphore(maxRequests, true);