
es.tid.bgp.bgp4Peer.management.BGP4ManagementServer Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of topology Show documentation
Show all versions of topology Show documentation
Traffic Engineering Database, BGP-LS peer, Topology Module
The newest version!
package es.tid.bgp.bgp4Peer.management;
import es.tid.bgp.bgp4Peer.bgp4session.BGP4SessionsInformation;
import es.tid.bgp.bgp4Peer.peer.SendTopology;
import es.tid.tedb.MultiDomainTEDB;
import es.tid.tedb.TEDB;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.net.ServerSocket;
import java.util.Hashtable;
/**
* To manage the server
*
* @author mcs
*
*/
public class BGP4ManagementServer extends Thread {
private Logger log;
private int BGP4ManagementPort = 8888;
private BGP4SessionsInformation bgp4SessionsInformation;
/**
* Topology database for interDomain Links.
*/
private MultiDomainTEDB multiTEDB;
/**
* Topology database for intradomain Links. It owns several domains.
*/
private Hashtable intraTEDBs;
/**
* Class to send the topology. It is needes to set the parameters sendTopology to true or false.
*/
private SendTopology sendTopology;
public BGP4ManagementServer(int BGP4ManagementPort, MultiDomainTEDB multiTEDB, Hashtable intraTEDBs, BGP4SessionsInformation bgp4SessionsInformation, SendTopology sendTopology){
log =LoggerFactory.getLogger("BGP4Server");
this.BGP4ManagementPort = BGP4ManagementPort;
this.multiTEDB=multiTEDB;
this.intraTEDBs=intraTEDBs;
this.bgp4SessionsInformation =bgp4SessionsInformation;
this.sendTopology=sendTopology;
}
/**
* RUN
*/
public void run(){
ServerSocket serverSocket = null;
boolean listening=true;
try {
log.debug("Listening management on port "+BGP4ManagementPort);
serverSocket = new ServerSocket(BGP4ManagementPort);
}
catch (Exception e){
log.error("Could not listen management on port "+BGP4ManagementPort);
e.printStackTrace();
return;
}
try {
while (listening) {
new BGP4ManagementSession(serverSocket.accept(),multiTEDB,intraTEDBs,bgp4SessionsInformation, sendTopology).start();
}
serverSocket.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy