blob: 9678dc1d43efbb81cd86cb5d951c5cdd6196eeb5 [file] [log] [blame]
package org.onlab.onos.net.flow;
import java.util.List;
/**
* Abstraction of a slice of network traffic.
*/
public interface TrafficSelector {
/**
* Returns selection criteria as an ordered list.
*
* @return list of criteria
*/
List<Criterion> criteria();
/**
* Builder of traffic selector entities.
*/
public interface Builder {
/**
* Adds a traffic selection criterion. If a same type criterion has
* already been added, it will be replaced by this one.
*
* @param criterion new criterion
* @return self
*/
Builder add(Criterion criterion);
/**
* Builds an immutable traffic selector.
*
* @return traffic selector
*/
TrafficSelector build();
}
}