| package net.onrc.onos.core.matchaction; |
| |
| import net.onrc.onos.api.flowmanager.ConflictDetectionPolicy; |
| import net.onrc.onos.core.util.IdGenerator; |
| |
| import java.util.EventListener; |
| import java.util.Set; |
| |
| /** |
| * An interface for the match-action service. |
| */ |
| public interface MatchActionService { |
| /** |
| * Adds a new match-action entry. |
| * |
| * @param matchAction MatchAction object to be added. |
| * @return true if succeeded, false otherwise. |
| */ |
| boolean addMatchAction(MatchAction matchAction); |
| |
| /** |
| * Gets the set of match-action entries. |
| * |
| * @return The set of match-action entries. |
| */ |
| Set<MatchAction> getMatchActions(); |
| |
| /** |
| * Executes match-action operation plan. |
| * |
| * @param operations Operations to be executed. |
| * @return true if succeeded, false otherwise. |
| */ |
| boolean executeOperations(MatchActionOperations operations); |
| |
| /** |
| * Sets a conflict detection policy. |
| * |
| * @param policy ConflictDetectionPolicy object to be set. |
| */ |
| void setConflictDetectionPolicy(ConflictDetectionPolicy policy); |
| |
| /** |
| * Gets the conflict detection policy. |
| * |
| * @return ConflictDetectionPolicy object being applied currently. |
| */ |
| ConflictDetectionPolicy getConflictDetectionPolicy(); |
| |
| /** |
| * Gets the ID generator for MatchActionId. |
| * |
| * @return the ID generator for MatchActionId |
| */ |
| IdGenerator<MatchActionId> getMatchActionIdGenerator(); |
| |
| /** |
| * Gets the ID generator for MatchActionOperationsId. |
| * |
| * @return the ID generator for MatchActionOperationsId |
| */ |
| IdGenerator<MatchActionOperationsId> getMatchActionOperationsIdGenerator(); |
| |
| /** |
| * Adds event listener to this service. |
| * |
| * @param listener EventListener to be added. |
| */ |
| void addEventListener(EventListener listener); |
| |
| /** |
| * Removes event listener from this service. |
| * |
| * @param listener EventListener to be removed. |
| */ |
| void removeEventListener(EventListener listener); |
| } |