package org.opennaas.extensions.router.model.opticalSwitch; import java.util.List; import org.opennaas.extensions.router.model.NetworkPort; public interface IOpticalSwitchCard { /** * Connects srcChannel in srcPort with dstChannel in dstPort. * * @param srcChannel * @param srcPort * @param dstChannel * @param dstPort * @return */ public boolean addSwitchingRule(FiberChannel srcChannel, NetworkPort srcPort, FiberChannel dstChannel, NetworkPort dstPort); public boolean removeSwitchingRule(FiberChannel srcChannel, NetworkPort srcPort, FiberChannel dstChannel, NetworkPort dstPort); public List getSwitchingRules(); public List<NetworkPort> getPorts(); /** * Returns channels ready to be configured on given port. Notice it is not the same as free channels on given port, as this card may introduce * further restrictions. Assumes given port is in this card * * @param port * @return */ public List<FiberChannel> getAvailableChannels(NetworkPort port); public boolean isPassive(); }