diff --git a/src/main/java/JobServ/JobServClient.java b/src/main/java/JobServ/JobServClient.java index 82cc422..1698ac9 100644 --- a/src/main/java/JobServ/JobServClient.java +++ b/src/main/java/JobServ/JobServClient.java @@ -66,16 +66,21 @@ public class JobServClient { * writes help information about all commands in the shell to screen */ public static void outputHelp() { - System.out.println("... new (command)"); - System.out.println("Starts a new process on the server"); - System.out.println("... output (pid)"); - System.out.println("Garners output from process on server"); - System.out.println("... status (pid)"); - System.out.println("Returns whether process on server is running"); - System.out.println("... return (pid)"); - System.out.println("Collects return code from remote process"); - System.out.println("... kill (pid)"); - System.out.println("Immediately destroys remote process"); + System.out.println("... new (command)\n"+ + "Starts a new process on the server\n"+ + "example: ./client key.pem cert.crt ca.crt localhost 8448 new echo hello world!\n\n"+ + "... output (pid)\n"+ + "Garners output from process on server\n"+ + "example: ./client key.pem cert.crt ca.crt localhost 8448 output 0\n\n"+ + "... status (pid)\n"+ + "Returns whether process on server is running"+ + "example: ./client key.pem cert.crt ca.crt localhost 8448 status 0\n\n"+ + "... return (pid)\n"+ + "Collects return code from remote process\n"+ + "example: ./client key.pem cert.crt ca.crt localhost 8448 return 0\n\n"+ + "... kill (pid)"+ + "Immediately destroys remote process"+ + "example: ./client key.pem cert.crt ca.crt localhost 8448 kill 0\n\n"+ } /* diff --git a/src/main/java/JobServ/JobServServer.java b/src/main/java/JobServ/JobServServer.java index 07e41fa..5e35549 100644 --- a/src/main/java/JobServ/JobServServer.java +++ b/src/main/java/JobServ/JobServServer.java @@ -32,17 +32,18 @@ public class JobServServer { private static final Logger logger = Logger.getLogger(JobServServer.class.getName()); private Server server; + private ProcessManager manager; /* * Constructor * builds server object */ public JobServServer(SslContext ssl, int port) throws IOException { - this.server = NettyServerBuilder.forPort(port) - .addService(new ShellServerService()) - .sslContext(ssl) - .build() - .start(); + this.server = NettyServerBuilder.forPort(port) + .addService(new ShellServerService(manager)) + .sslContext(ssl) + .build() + .start(); } /* @@ -58,6 +59,7 @@ public class JobServServer { @Override public void run() { logger.info("Shutting down server"); + manager.shutdown(); JobServServer.this.stop(); } }); @@ -100,14 +102,14 @@ public class JobServServer { JobServServer server; try { - SslContextBuilder sslContextBuilder = SslContextBuilder.forServer(new File(args[1]), new File(args[2])); + SslContextBuilder sslContextBuilder = SslContextBuilder.forServer(new File(args[1]), new File(args[2])); - // Mutual TLS trust store and require client auth - sslContextBuilder.trustManager(new File(args[3])); - sslContextBuilder.clientAuth(ClientAuth.REQUIRE); + // Mutual TLS trust store and require client auth + sslContextBuilder.trustManager(new File(args[3])); + sslContextBuilder.clientAuth(ClientAuth.REQUIRE); - server = new JobServServer(GrpcSslContexts.configure(sslContextBuilder).build(), - Integer.parseInt(args[0])); + server = new JobServServer(GrpcSslContexts.configure(sslContextBuilder).build(), + Integer.parseInt(args[0])); } catch (InputMismatchException e) { System.out.println("Invalid port!"); @@ -118,10 +120,11 @@ public class JobServServer { return; } catch (IOException e) { - System.out.println(e.getMessage()); - return; - } + System.out.println(e.getMessage()); + return; + } + System.out.println("JobServ Server Initialized! Connect anytime..."); server.blockUntilShutdown(); } } diff --git a/src/main/java/JobServ/ShellServerService.java b/src/main/java/JobServ/ShellServerService.java index 7275b12..4b61fb8 100644 --- a/src/main/java/JobServ/ShellServerService.java +++ b/src/main/java/JobServ/ShellServerService.java @@ -21,8 +21,8 @@ class ShellServerService extends ShellServerGrpc.ShellServerImplBase { * constructor * initialized ProcessManager */ - public ShellServerService() { - manager = new ProcessManager(); + public ShellServerService(ProcessManager manager) { + this.manager = manager } /*