Added an interface for the TopologyPublisher to publish operations to
the Topology Replication Writer
ONOS-1906
* Added new interface ITopologyReplicationWriter that should be implemented
by the (forthcoming) Topology Replication Writer. After this
writer is implemented, it should be created inside class
TopologyModule (similar to class TopologyManager), and
method TopologyModule.publish() should be modified to make the appropriate
call.
* Added new interface ITopologyPublisherService that exposes the
TopologyPublisher to other modules.
Currently, it includes only method publish() that can be used to
pre-populate the topology (e.g., by topology operations from a
configuration file).
* Updated class TopologyBatchOperation:
- The object type is TopologyEvent
- Renamed methods addAddTopologyOperation and addRemoveTopologyOperation
to appendAddOperation() and appendRemoveOperation() respectively
* Updated the TopologyPublisher internals to generalize the publishing
operation inside method TopologyPublisher.publishTopologyOperations()
NOTE: Inside that method that is a temporary flag "isGlobalLogWriter"
(set to false by default) that can be used to start experimenting with
the forthcoming Global Log-based mechanism (when the rest of the components
are ready).
NOTE: As a short-term solution, added class DelayedOperationsHandler
as a hack to deal with Link Events that need to be delayed
(in case of GlobalLog mechanism).
Change-Id: I72bd3c4bea46020be283e3bd518ba3bf900d6f0a
diff --git a/src/main/java/net/onrc/onos/core/topology/ITopologyService.java b/src/main/java/net/onrc/onos/core/topology/ITopologyService.java
index 26b6212..ab32130 100644
--- a/src/main/java/net/onrc/onos/core/topology/ITopologyService.java
+++ b/src/main/java/net/onrc/onos/core/topology/ITopologyService.java
@@ -5,7 +5,8 @@
/**
* Interface for providing the topology service to other modules.
*/
-public interface ITopologyService extends IFloodlightService {
+public interface ITopologyService extends IFloodlightService,
+ ITopologyReplicationWriter {
/**
* Allows a module to get a reference to the global topology object.
*