public SlimServer getSlimServer() { return new SlimServer(this); }
private void handle(Socket socket) throws IOException { try { slimServer.serve(socket); } finally { socket.close(); } }
private void tryProcessInstructions(SlimStreamReader reader, OutputStream writer) throws IOException { ListExecutor executor = slimFactory.getListExecutor(); String header = SlimVersion.SLIM_HEADER + SlimVersion.VERSION + "\n"; SlimStreamReader.sendSlimHeader(writer, header); boolean more = true; while (more) more = processOneSetOfInstructions(reader, writer, executor); }
private boolean processOneSetOfInstructions(SlimStreamReader reader, OutputStream writer, ListExecutor executor) throws IOException { String instructions = reader.getSlimMessage(); // Not sure why this is need but we keep it. if (instructions == null) return true; // We are done Bye Bye message received if (instructions.equalsIgnoreCase(SlimVersion.BYEMESSAGE)) { return false; } // Do some real work String resultString = executeInstructions(executor, instructions); SlimStreamReader.sendSlimMessage(writer, resultString); return true; }
@Override public void serve(Socket s) throws IOException { SlimStreamReader reader = null; OutputStream writer = null; try { reader = SlimStreamReader.getReader(s); writer = SlimStreamReader.getByteWriter(s); tryProcessInstructions(reader, writer); } finally { slimFactory.stop(); FileUtil.close(reader); FileUtil.close(writer); } }
private void tryProcessInstructions(SlimStreamReader reader, OutputStream writer) throws IOException { ListExecutor executor = slimFactory.getListExecutor(); String header = SlimVersion.SLIM_HEADER + SlimVersion.VERSION + "\n"; SlimStreamReader.sendSlimHeader(writer, header); boolean more = true; while (more) more = processOneSetOfInstructions(reader, writer, executor); }
private boolean processOneSetOfInstructions(SlimStreamReader reader, OutputStream writer, ListExecutor executor) throws IOException { String instructions = reader.getSlimMessage(); // Not sure why this is need but we keep it. if (instructions == null) return true; // We are done Bye Bye message received if (instructions.equalsIgnoreCase(SlimVersion.BYEMESSAGE)) { return false; } // Do some real work String resultString = executeInstructions(executor, instructions); SlimStreamReader.sendSlimMessage(writer, resultString); return true; }
@Override public void serve(Socket s) throws IOException { SlimStreamReader reader = null; OutputStream writer = null; try { reader = SlimStreamReader.getReader(s); writer = SlimStreamReader.getByteWriter(s); tryProcessInstructions(reader, writer); } finally { slimFactory.stop(); FileUtil.close(reader); FileUtil.close(writer); } }
private void handle(Socket socket) throws IOException { try { slimServer.serve(socket); } finally { socket.close(); } }
public SlimServer getSlimServer() { return new SlimServer(this); }
@Override public void run() { try { slimServer.serve(socket); executionLogListener.exitCode(0); } catch (Throwable t) { // NOSONAR // This point is not reached since no errors bubble up this far executionLogListener.exceptionOccurred(t); } } });
@Override public void run() { try { slimServer.serve(socket); executionLogListener.exitCode(0); } catch (Throwable t) { // NOSONAR // This point is not reached since no errors bubble up this far executionLogListener.exceptionOccurred(t); } } });