コード例 #1
0
ファイル: RunService.cs プロジェクト: khassib/garden-windows
 private static void WaitForExit(IWebSocketEventSender websocket, IContainerProcess process)
 {
     try
     {
         var exitCode = process.WaitForExit();
         websocket.SendEvent("close", exitCode.ToString());
         websocket.Flush();
         websocket.Close(System.Net.WebSockets.WebSocketCloseStatus.NormalClosure, "process finished");
     }
     catch (Exception e)
     {
         websocket.SendEvent("close", "-1");
         websocket.Flush();
         websocket.Close(System.Net.WebSockets.WebSocketCloseStatus.InternalServerError, e.Message);
     }
 }
コード例 #2
0
ファイル: RunService.cs プロジェクト: sneal/garden-windows
 private IContainerProcess Run(IWebSocketEventSender websocket, ProcessSpec processSpec)
 {
     try
     {
         var processIO = new ProcessIO(websocket);
         var process   = container.Run(processSpec, processIO);
         websocket.SendEvent("pid", process.Id.ToString());
         return(process);
     }
     catch (Exception e)
     {
         websocket.SendEvent("error", e.Message);
         websocket.Close(System.Net.WebSockets.WebSocketCloseStatus.InternalServerError, e.Message);
         return(null);
     }
 }
コード例 #3
0
ファイル: RunService.cs プロジェクト: sneal/garden-windows
 private static void WaitForExit(IWebSocketEventSender websocket, IContainerProcess process)
 {
     try
     {
         var exitCode = process.WaitForExit();
         websocket.SendEvent("close", exitCode.ToString());
         websocket.Flush();
         // websocket.Close(System.Net.WebSockets.WebSocketCloseStatus.NormalClosure, "process finished");
     }
     catch (Exception e)
     {
         websocket.SendEvent("close", "-1");
         websocket.Flush();
         // websocket.Close(System.Net.WebSockets.WebSocketCloseStatus.InternalServerError, e.Message);
     }
 }
コード例 #4
0
ファイル: RunService.cs プロジェクト: khassib/garden-windows
 public WSWriter(string streamName, IWebSocketEventSender ws)
 {
     this.streamName = streamName;
     this.ws = ws;
 }
コード例 #5
0
ファイル: RunService.cs プロジェクト: khassib/garden-windows
 public ProcessIO(IWebSocketEventSender ws)
 {
     StandardOutput = new WSWriter("stdout", ws);
     StandardError = new WSWriter("stderr", ws);
 }
コード例 #6
0
ファイル: RunService.cs プロジェクト: khassib/garden-windows
 private IContainerProcess Run(IWebSocketEventSender websocket, ProcessSpec processSpec)
 {
     try
     {
         var processIO = new ProcessIO(websocket);
         var process = container.Run(processSpec, processIO);
         websocket.SendEvent("pid", process.Id.ToString());
         return process;
     }
     catch (Exception e)
     {
         websocket.SendEvent("error", e.Message);
         websocket.Close(System.Net.WebSockets.WebSocketCloseStatus.InternalServerError, e.Message);
         return null;
     }
 }
コード例 #7
0
ファイル: RunService.cs プロジェクト: sneal/garden-windows
 public ProcessIO(IWebSocketEventSender ws)
 {
     StandardOutput = new WSWriter("stdout", ws);
     StandardError  = new WSWriter("stderr", ws);
 }
コード例 #8
0
ファイル: RunService.cs プロジェクト: sneal/garden-windows
 public WSWriter(string streamName, IWebSocketEventSender ws)
 {
     this.streamName = streamName;
     this.ws         = ws;
 }