public void Start() { try { // Init named pipe for (int i = 0; i < s_maxServerInstances; i++) { EventPipe pipe = new EventPipe(s_InPipeName, s_OutPipeName, s_maxServerInstances, s_pipeSecurity); pipe.Start(InConnectionCallBack, OutConnectionCallBack); s_pipes.Add(pipe.Id, pipe); } } catch (Exception ex) { log.Error(ex); throw ex; } }
private void RestartConnectionWaiting(string pipeId) { log.Info("RestartWaiting!"); EventPipe pipe = null; try { pipe = s_pipes[pipeId]; pipe.Stop(); } catch (Exception ex) { log.Warn("Clean up connection failed: " + ex); } finally { // Restart stream to wait for new connection if (pipe != null) { pipe.Start(InConnectionCallBack, OutConnectionCallBack); } } }