- private void registerDataStoreUpdateListener(DataBrokerService dbs) {
- // FIXME: the below should be broken out into StatisticsUpdateHandler
-
- //Register for flow updates
- InstanceIdentifier<? extends DataObject> pathFlow = InstanceIdentifier.builder(Nodes.class).child(Node.class)
- .augmentation(FlowCapableNode.class)
- .child(Table.class)
- .child(Flow.class).toInstance();
- dbs.registerDataChangeListener(pathFlow, statsUpdateHandler);
-
- //Register for meter updates
- InstanceIdentifier<? extends DataObject> pathMeter = InstanceIdentifier.builder(Nodes.class).child(Node.class)
- .augmentation(FlowCapableNode.class)
- .child(Meter.class).toInstance();
-
- dbs.registerDataChangeListener(pathMeter, statsUpdateHandler);
-
- //Register for group updates
- InstanceIdentifier<? extends DataObject> pathGroup = InstanceIdentifier.builder(Nodes.class).child(Node.class)
- .augmentation(FlowCapableNode.class)
- .child(Group.class).toInstance();
- dbs.registerDataChangeListener(pathGroup, statsUpdateHandler);
-
- //Register for queue updates
- InstanceIdentifier<? extends DataObject> pathQueue = InstanceIdentifier.builder(Nodes.class).child(Node.class)
- .child(NodeConnector.class)
- .augmentation(FlowCapableNodeConnector.class)
- .child(Queue.class).toInstance();
- dbs.registerDataChangeListener(pathQueue, statsUpdateHandler);
- }
-
- protected DataModificationTransaction startChange() {
- return dps.beginTransaction();
- }
-
- public void sendFlowStatsFromTableRequest(NodeKey node, Flow flow) throws InterruptedException, ExecutionException {
- final NodeStatisticsHandler h = getStatisticsHandler(node.getId());
- if (h != null) {
- h.sendFlowStatsFromTableRequest(flow);
- }
- }
-
- public void sendGroupDescriptionRequest(NodeKey node) throws InterruptedException, ExecutionException{
- final NodeStatisticsHandler h = getStatisticsHandler(node.getId());
- if (h != null) {
- h.sendGroupDescriptionRequest();
- }
- }
-
- public void sendMeterConfigStatisticsRequest(NodeKey node) throws InterruptedException, ExecutionException {
- final NodeStatisticsHandler h = getStatisticsHandler(node.getId());
- if (h != null) {
- h.sendMeterConfigStatisticsRequest();
- }
- }
-
- public void sendQueueStatsFromGivenNodeConnector(NodeKey node,NodeConnectorId nodeConnectorId, QueueId queueId) throws InterruptedException, ExecutionException {
- final NodeStatisticsHandler h = getStatisticsHandler(node.getId());
- if (h != null) {
- h.sendQueueStatsFromGivenNodeConnector(nodeConnectorId, queueId);
- }
- }
-