blob: 7f9e18a445233c634a459eb6b2e58a41c1e34fcf [file] [log] [blame]
package net.onrc.onos.core.matchaction;
import net.onrc.onos.core.util.Dpid;
/**
* The result of applying a MatchAction operation to a switch.
*/
public class SwitchResult {
private Dpid sw;
private Status status;
private MatchActionOperationsId matchSetId;
/**
* Status of the switch operation.
*/
public enum Status {
/** Installation of the MatchAction was successful. */
SUCCESS,
/** Installation of the MatchAction failed. */
FAILURE,
/** No status has been assigned. */
UNKNOWN
}
/**
* Creates a new SwitchResult object.
*
* @param match identifier for MatchActionsOperations that was requested
* @param sw Dpid of the switch that the operations were applied to
*/
protected SwitchResult(MatchActionOperationsId match, Dpid sw) {
this.sw = sw;
this.status = Status.UNKNOWN;
this.matchSetId = match;
}
/**
* no-arg constructor for Kryo.
*/
protected SwitchResult() {
// Needed for Kryo
}
/**
* Sets the status of the SwitchResult.
*
* @param newStatus new status
*/
protected void setStatus(Status newStatus) {
this.status = newStatus;
}
/**
* Gets the status of the SwitchResult.
*
* @return status
*/
protected Status getStatus() {
return this.status;
}
/**
* Gets the identifier for the set of operations that was requested.
*
* @return MatchActionOperationsId of the requested set of operations
*/
protected MatchActionOperationsId getMatchActionOperationsId() {
return this.matchSetId;
}
/**
* Gets the identifier for the switch that was requested.
*
* @return Dpid of the requested switch
*/
protected Dpid getSwitch() {
return this.sw;
}
}