Moving Source from connect point to HostId in MulticastHandling
Change-Id: Ie8f678e150b7ee388680b8d8f27df0bce60ec01f
diff --git a/apps/mcast/api/src/main/java/org/onosproject/mcast/api/McastStore.java b/apps/mcast/api/src/main/java/org/onosproject/mcast/api/McastStore.java
index aa429b2..484f32ec 100644
--- a/apps/mcast/api/src/main/java/org/onosproject/mcast/api/McastStore.java
+++ b/apps/mcast/api/src/main/java/org/onosproject/mcast/api/McastStore.java
@@ -43,10 +43,22 @@
void removeRoute(McastRoute route);
/**
- * Add to the store with source information for the given route.
+ * Updates the store with a host based source information for a given route. There may be
+ * multiple source connect points for the given host.
*
- * @param route a Multicast route
- * @param sources a set of sources
+ * @param route a Multicast route
+ * @param hostId the host source
+ * @param connectPoints the sources connect point
+ */
+ void storeSource(McastRoute route, HostId hostId, Set<ConnectPoint> connectPoints);
+
+ /**
+ * Updates the store with source information for a given route.
+ * The source stored with this method are not tied with any host.
+ * Traffic will be sent from all of them.
+ *
+ * @param route a Multicast route
+ * @param sources set of specific connect points
*/
void storeSources(McastRoute route, Set<ConnectPoint> sources);
@@ -59,12 +71,20 @@
/**
* Removes from the store the source information for the given route.
- * value.
*
- * @param route a Multicast route
- * @param sources a set of sources
+ * @param route a Multicast route
+ * @param source a source
*/
- void removeSources(McastRoute route, Set<ConnectPoint> sources);
+ void removeSource(McastRoute route, HostId source);
+
+ /**
+ * Removes a set of source connect points for a given host the route.
+ *
+ * @param route the multicast route
+ * @param hostId a source host
+ * @param connectPoints a given set of connect points to remove
+ */
+ void removeSources(McastRoute route, HostId hostId, Set<ConnectPoint> connectPoints);
/**
* Updates the store with a host based sink information for a given route. There may be
@@ -127,6 +147,15 @@
Set<ConnectPoint> sourcesFor(McastRoute route);
/**
+ * Obtains the sources for a given host for a given Multicast route.
+ *
+ * @param route a Multicast route
+ * @param hostId the host
+ * @return a set of sources
+ */
+ Set<ConnectPoint> sourcesFor(McastRoute route, HostId hostId);
+
+ /**
* Obtains the sinks for a Multicast route.
*
* @param route a Multicast route