package es.tid.tedb.ospfv2; import java.net.ServerSocket; import java.util.concurrent.LinkedBlockingQueue; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import es.tid.ospf.ospfv2.OSPFv2LinkStateUpdatePacket; public class OSPFTCPSessionServer extends Thread { private int OSPFTCPPort; private LinkedBlockingQueue<OSPFv2LinkStateUpdatePacket> ospfv2PacketQueue; private LinkedBlockingQueue<OSPFv2LinkStateUpdatePacket> redisOspfv2PacketQueue; /** * OSPF logger */ private Logger log; public OSPFTCPSessionServer(LinkedBlockingQueue<OSPFv2LinkStateUpdatePacket> ospfv2PacketQueue, LinkedBlockingQueue<OSPFv2LinkStateUpdatePacket> redisOspfv2PacketQueue){ log=LoggerFactory.getLogger("OSPFParser"); log.info("In OSPFTCPSessionServer"); this.ospfv2PacketQueue = ospfv2PacketQueue; this.redisOspfv2PacketQueue = redisOspfv2PacketQueue; } public void run(){ ServerSocket serverSocket = null; boolean listening=true; try { log.info("Listening on port OSPF::"+OSPFTCPPort); serverSocket = new ServerSocket(OSPFTCPPort); } catch (Exception e){ log.error("Could not listen management on port 8889"); e.printStackTrace(); return; } try { while (listening) { //Pasar la cola log.info("Accepting socket! OSPF"); new OSPFTCPSession(serverSocket.accept(),this.ospfv2PacketQueue).start(); } serverSocket.close(); } catch (Exception e) { e.printStackTrace(); } } public int getOSPFTCPPort() { return OSPFTCPPort; } public void setOSPFTCPPort(int oSPFTCPPort) { OSPFTCPPort = oSPFTCPPort; } // public int readOSPFTCPPort(){ // return 7777; // } }