public void ShutdownAllClientServicers() { sf.VERBOSE("CLIENTSERVICER: Shutting down all client connections"); ClientServicer crrntServicer; while (vctServicers.size() != 0) { crrntServicer = (ClientServicer) vctServicers.firstElement(); crrntServicer.Shutdown(); try { crrntServicer.join(1000); } catch (InterruptedException e) { e.printStackTrace(); } ; } }
public void run() { boolean status; sf.DEBUG("Listen server running."); // open up our server socket try { m_serverSocket = new ServerSocket(m_nPort); } catch (IOException e) { sf.VERBOSE("Could not listen on port: " + m_nPort); if (sf.cntrlWndw != null) { sf.cntrlWndw.ClearListenServer(); } return; } sf.VERBOSE("Listening for client connections on port " + m_nPort); // if (SerialForward.bSourceSim) // { SetDataSource(); sf.InitSerialPortIO(); // } // start listening for connections try { ClientServicer rcv; Socket currentSocket; while (!m_bShutdown) { currentSocket = m_serverSocket.accept(); ClientServicer newServicer = new ClientServicer(currentSocket, sf, this); newServicer.start(); vctServicers.add(newServicer); } m_serverSocket.close(); } catch (IOException e) { /*try { this.sleep(500); } catch (Exception e2) { }*/ sf.VERBOSE("Server Socket closed"); } finally { ShutdownAllClientServicers(); if (sf.serialPortIO != null) sf.serialPortIO.Shutdown(); sf.VERBOSE("--------------------------"); if (sf.cntrlWndw != null) { sf.cntrlWndw.ClearListenServer(); } } }
private void SetDataSource() { if (sf.useDummyData) { sf.dataSource = new DummySource(sf); } else if (sf.bSourceSim) { try { sf.dataSource = (DataSource) (Class.forName("net.tinyos.sf.old.nido.SimNetworkDataSource").newInstance()); sf.dataSource.setSerialForward(sf); } catch (Exception e) { System.err.println("Cannot instantiate SimNetworkDataSource - did you compile it? " + e); return; } } else if (sf.bNidoSerialData) { // Doing it this way to avoid having to compile NidoSerialDataSource // which requires all of the TOSSIM event classes // sf.dataSource = new NidoSerialDataSource(sf); try { sf.dataSource = (DataSource) (Class.forName("net.tinyos.sf.old.nido.NidoSerialDataSource").newInstance()); sf.dataSource.setSerialForward(sf); } catch (Exception e) { System.err.println("Cannot instantiate NidoSerialDataSource - did you compile it? " + e); return; } } else if (sf.bSourceDB) { sf.dataSource = new DBSource(sf); } else if (sf.bQueuedSerial) { System.out.println("USING QUEUED SERIAL SOURCE"); sf.dataSource = new QueuedSerialSource(sf); } else if (sf.commPort_is_socket) { sf.dataSource = new NetworkSource(sf); } else { sf.dataSource = new SerialSource(sf); } }
public void RestartDataSource() { SetDataSource(); sf.InitSerialPortIO(); }