mirror of
https://bitbucket.org/anguist/ntpa
synced 2025-10-06 11:04:40 +00:00
interprocess communication
This commit is contained in:
@ -50,11 +50,13 @@ namespace Ntp.Analyzer.Process
|
||||
/// </summary>
|
||||
/// <param name="configFile">Config file to use.</param>
|
||||
/// <param name="pid">Process ID. Only used for logging.</param>
|
||||
public Initializer (string version, string configFile, int pid)
|
||||
/// <param name="name">Name of process ID. Used for shutting down.</param>
|
||||
public Initializer (string version, string configFile, int pid, string name)
|
||||
{
|
||||
this.version = version;
|
||||
this.configFile = configFile;
|
||||
this.pid = pid;
|
||||
this.name = name;
|
||||
|
||||
nodes = new List<IRequest> ();
|
||||
listeners = new List<Listener> ();
|
||||
@ -63,6 +65,7 @@ namespace Ntp.Analyzer.Process
|
||||
private readonly string version;
|
||||
private readonly string configFile;
|
||||
private readonly int pid;
|
||||
private readonly string name;
|
||||
private readonly List<IRequest> nodes;
|
||||
private readonly List<Listener> listeners;
|
||||
private Configuration config;
|
||||
@ -172,6 +175,7 @@ namespace Ntp.Analyzer.Process
|
||||
// Initialize application state
|
||||
ApplicationState.Version = version;
|
||||
ApplicationState.Pid = pid;
|
||||
ApplicationState.Name = name;
|
||||
ApplicationState.Config = config;
|
||||
ApplicationState.ConfigFile = configFile;
|
||||
ApplicationState.Log = log;
|
||||
|
35
Ntp.Analyzer.Process/Killer.cs
Normal file
35
Ntp.Analyzer.Process/Killer.cs
Normal file
@ -0,0 +1,35 @@
|
||||
//
|
||||
// Killer.cs
|
||||
//
|
||||
// Author:
|
||||
// carsten <${AuthorEmail}>
|
||||
//
|
||||
// Copyright (c) 2016 carsten
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be included in
|
||||
// all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE.
|
||||
using System;
|
||||
using System.Threading;
|
||||
|
||||
namespace Ntp.Analyzer.Process
|
||||
{
|
||||
public sealed class Killer
|
||||
{
|
||||
public Killer
|
||||
}
|
||||
}
|
@ -4,7 +4,7 @@
|
||||
// Author:
|
||||
// Carsten Sonne Larsen <cs@innolan.dk>
|
||||
//
|
||||
// Copyright (c) 2013 Carsten Sonne Larsen
|
||||
// Copyright (c) 2013-2016 Carsten Sonne Larsen
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
@ -30,29 +30,31 @@ namespace Ntp.Analyzer.Process
|
||||
{
|
||||
public sealed class Main
|
||||
{
|
||||
public Main (string configFile, int pid)
|
||||
public Main (string configFile, int pid, string name)
|
||||
{
|
||||
// Also update solution version.
|
||||
version = "8.8.5";
|
||||
version = "8.8.6";
|
||||
|
||||
this.configFile = configFile;
|
||||
this.pid = pid;
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
private readonly string version;
|
||||
private readonly string configFile;
|
||||
private readonly int pid;
|
||||
private readonly string name;
|
||||
|
||||
public void Start ()
|
||||
{
|
||||
Initializer i = new Initializer (version, configFile, pid);
|
||||
Initializer i = new Initializer (version, configFile, pid, name);
|
||||
i.Run ();
|
||||
|
||||
if (!i.Ready) {
|
||||
return;
|
||||
}
|
||||
|
||||
Cluster c = new Cluster (i.Scheduler, i.Nodes, i.Log);
|
||||
Cluster c = new Cluster (name, i.Scheduler, i.Nodes, i.Log);
|
||||
c.Activate ();
|
||||
}
|
||||
}
|
||||
|
@ -35,6 +35,7 @@
|
||||
<Reference Include="MonoDevelop.Ide, Version=2.6.0.0, Culture=neutral">
|
||||
<Package>monodevelop</Package>
|
||||
</Reference>
|
||||
<Reference Include="Mono.Posix" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
|
Reference in New Issue
Block a user