tree 00ee18e6bbe5215b44eb10577cb2f39068be4d5b
parent ba096e38749d0cb532ae5c25a178fd3124067466
author Pavlin Radoslavov <pavlin@onlab.us> 1389144269 -0800
committer Pavlin Radoslavov <pavlin@onlab.us> 1389144269 -0800

* Added new method FlowDatabaseOperation.getFlowSourceDpid() that
  can be used to get the Source Switch DPID

* Added a boolean flag to FlowEventHandler and FlowManager to enable/disable
  the new Flow setup mechanism:
    enableOnrc2014MeasurementsFlows

* Create locally the FlowEventHandler.dbHandler instead of
  reusing the dbHandler from the FlowManager.
  Reusing the dbHandler from the FlowManager might not be thread-safe (??)

* Renamed flag FlowEventHandler.accessDBFlag
  to enableOnrc2014MeasurementsTopology
  (for consistency with the Flow setup-related flag)

* Changed the logic when reading the complete topology from the database:
  if there is a topology-related event, we unconditionally assume
  the topology has been modified. Long-term this might be sub-optimal,
  but gives us the bare-bones behavior we want to measure.

* Reverse the change to Topology.readFromDatabase() to exclude the
  compareTopology() call (see above bullet).

* Fix a bug when cheching whether there is any event to process.
