All Downloads are FREE. Search and download functionalities are using the official Maven repository.

es.tid.topologyModuleBase.database.TopologyTEDB Maven / Gradle / Ivy

The newest version!
package es.tid.topologyModuleBase.database;

import es.tid.ospf.ospfv2.lsa.tlv.subtlv.complexFields.BitmapLabelSet;
import es.tid.tedb.*;

import java.util.LinkedList;
import java.util.Set;

//import es.tid.pce.computingEngine.algorithms.ComputingAlgorithmPreComputation;
//import es.tid.pce.computingEngine.algorithms.ComputingAlgorithmPreComputationSSON;

/**
 * It's just like DomainTEDB and TEDB but every function has an identifier with it.
 * It's thought for you to have a list of TEDB and apply the function on a particular TEDB depending
 * on the identifier.
 * @author jaume
 *
 */

public interface TopologyTEDB 
{
	public boolean belongsToDomain(String id, Object addr);

	public ReachabilityEntry getReachabilityEntry(String id);


	public LinkedList getInterDomainLinks(String id);
	public Set getIntraDomainLinks(String id);
	public String printInterDomainLinks(String id);

	public boolean containsVertex(String id, Object vertex);
	public WSONInformation getWSONinfo(String id);
	public SSONInformation getSSONinfo(String id); 
	public void notifyWavelengthReservation(String id, LinkedList sourceVertexList, LinkedList targetVertexList, int wavelength, boolean bidirectional);
	public void notifyWavelengthReservationSSON (String id, LinkedList sourceVertexList, LinkedList targetVertexList, int wavelength, boolean bidirectional, int m);
	public void notifyWavelengthEndReservation(String id, LinkedList sourceVertexList, LinkedList targetVertexList, int wavelength, boolean bidirectional);
	public void notifyWavelengthChange(String id, Object localInterfaceIPAddress,Object remoteInterfaceIPAddress,BitmapLabelSet previousBitmapLabelSet,BitmapLabelSet newBitmapLabelSet );
	public void notifyNewEdgeIP(String id, Object source, Object destination, TE_Information informationTEDB);
	public void register(String id, TEDListener compAlgPreComp);
	public void registerSSON(String id, SSONListener compAlgPreComp);
	
	public void notifyNewVertex(String id, Object vertex);
	
	public void notifyNewEdge (String id, Object source, Object destination);
	
	public void clearAllReservations(String id);

	public void notifyWavelengthEndReservationSSON(
			String id, 
			LinkedList sourceVertexList,
			LinkedList targetVertexList, int wavelength,
			boolean bidirectional, int m);
	public void notifyWavelengthReservationWLAN(
			String id, 
			LinkedList sourceVertexList,
			LinkedList targetVertexList, LinkedList wlans,
			boolean bidirectional);
	
	public void initializeFromFile(String id, String file);

	public boolean isITtedb(String id);
	
	public String printTopology(String id);
	
	public void addTEDB(String id, DomainTEDB ted);
	
	
	
	public boolean belongsToDomain(Object addr);

	public ReachabilityEntry getReachabilityEntry();


	public LinkedList getInterDomainLinks();
	public Set getIntraDomainLinks();
	public String printInterDomainLinks();

	public boolean containsVertex(Object vertex);
	public WSONInformation getWSONinfo();
	public SSONInformation getSSONinfo(); 
	public void notifyWavelengthReservation(LinkedList sourceVertexList, LinkedList targetVertexList, int wavelength, boolean bidirectional);
	public void notifyWavelengthReservationSSON (LinkedList sourceVertexList, LinkedList targetVertexList, int wavelength, boolean bidirectional, int m);
	public void notifyWavelengthEndReservation(LinkedList sourceVertexList, LinkedList targetVertexList, int wavelength, boolean bidirectional);
	public void notifyWavelengthChange(Object localInterfaceIPAddress,Object remoteInterfaceIPAddress,BitmapLabelSet previousBitmapLabelSet,BitmapLabelSet newBitmapLabelSet );
	public void notifyNewEdgeIP(Object source, Object destination, TE_Information informationTEDB);
	public void register(TEDListener compAlgPreComp);
	public void registerSSON(SSONListener compAlgPreComp);
	
	public void notifyNewVertex(Object vertex);
	
	public void notifyNewEdge (Object source, Object destination);
	
	public void clearAllReservations();

	public void notifyWavelengthEndReservationSSON(
			
			LinkedList sourceVertexList,
			LinkedList targetVertexList, int wavelength,
			boolean bidirectional, int m);
	public void notifyWavelengthReservationWLAN(
			
			LinkedList sourceVertexList,
			LinkedList targetVertexList, LinkedList wlans,
			boolean bidirectional);
	
	public void initializeFromFile( String file);

	void initializeFromFile(String file, String ID, Boolean test);

	public boolean isITtedb();
	
	public String printTopology();
		
	public TEDB getDB();
	
	public TEDB getDB(String id);
}