View Javadoc
1 package net.sourceforge.backpedal.impl.server; 2 3 import net.sourceforge.backpedal.api.server.Dispatcher; 4 import net.sourceforge.backpedal.api.server.ServerControl; 5 import net.sourceforge.backpedal.api.server.ServerRunnable; 6 import net.sourceforge.backpedal.impl.AbstractComponent; 7 8 import java.io.BufferedReader; 9 import java.io.IOException; 10 import java.io.InputStreamReader; 11 import java.net.ServerSocket; 12 import java.net.Socket; 13 14 public class ServerRunnableImpl extends AbstractComponent implements ServerRunnable, Runnable { 15 private ServerSocket serverSocket = null; 16 private ServerControl control = null; 17 private final Dispatcher dispatcher; 18 19 public ServerRunnableImpl(Dispatcher dispatcher) { 20 this.dispatcher = dispatcher; 21 } 22 23 public void setServerSocket(ServerSocket serverSocket) { 24 this.serverSocket = serverSocket; 25 } 26 27 public void setServerControl(ServerControl control) { 28 this.control = control; 29 } 30 31 public Runnable getRunnable() { 32 return this; 33 } 34 35 public void run() { 36 while (control.continueRunning()) { 37 try { 38 loop(); 39 } catch (Exception e) { 40 log().error("Exception in Backpedal server thread", e); 41 } 42 } 43 } 44 45 private void loop() throws IOException { 46 final Socket socket = serverSocket.accept(); 47 final BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream())); 48 final String line = reader.readLine(); 49 reader.close(); 50 socket.close(); 51 dispatcher.dispatch(line); 52 } 53 }

This page was automatically generated by Maven