NTP Analyzer
0.8.2
Analyze the operation of time servers
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
Main.cs
Go to the documentation of this file.
1
//
2
// Copyright (c) 2013-2017 Carsten Sonne Larsen <cs@innolan.net>
3
//
4
// Permission is hereby granted, free of charge, to any person obtaining a copy
5
// of this software and associated documentation files (the "Software"), to deal
6
// in the Software without restriction, including without limitation the rights
7
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8
// copies of the Software, and to permit persons to whom the Software is
9
// furnished to do so, subject to the following conditions:
10
//
11
// The above copyright notice and this permission notice shall be included in
12
// all copies or substantial portions of the Software.
13
//
14
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20
// THE SOFTWARE.
21
22
using
System
.IO;
23
using
Ntp
.
Common
.
Log
;
24
using
Ntp
.
Common
.
Process
;
25
26
namespace
Ntp
.Analyzer.Process
27
{
28
public
sealed
class
Main
29
{
30
public
Main
(
string
configFile,
int
pid,
string
pidFile,
string
name,
LogGroup
initlog)
31
{
32
this.configFile = configFile;
33
this.pid = pid;
34
this.pidFile = pidFile;
35
this.name = name;
36
this.initlog = initlog;
37
}
38
39
private
readonly
string
configFile
;
40
private
readonly
LogGroup
initlog
;
41
private
readonly
string
name
;
42
private
readonly
int
pid
;
43
private
readonly
string
pidFile
;
44
45
public
void
Run
()
46
{
47
try
48
{
49
bool
reload =
true
;
50
while
(reload)
51
{
52
var i =
new
Initializer
(configFile, pid, pidFile, name, initlog);
53
i.Run();
54
55
if
(!i.Ready)
56
break
;
57
58
var cluster =
new
Cluster
(i.Scheduler, i.Controller, i.Nodes, i.Log);
59
cluster.Activate();
60
61
reload = i.Controller.Reload;
62
63
foreach
(var listener
in
i.Listeners)
64
listener.Close();
65
66
LogFactory
.
Cleanup
();
67
}
68
}
69
finally
70
{
71
if
(pidFile != null)
72
{
73
try
74
{
75
File
.Delete(pidFile);
76
}
77
catch
78
{
79
// ignored
80
}
81
}
82
}
83
}
84
}
85
}
Ntp.Analyzer.Process.Main.initlog
readonly LogGroup initlog
Definition:
Main.cs:40
Ntp.Analyzer.Process.Main.pidFile
readonly string pidFile
Definition:
Main.cs:43
Ntp.Analyzer.Process.Main.name
readonly string name
Definition:
Main.cs:41
Ntp.Common.Process.Cluster
Definition:
Cluster.cs:31
Ntp.Common.Log.LogFactory
Definition:
LogFactory.cs:28
Ntp.Common
Ntp.Common.Log.LogFactory.Cleanup
static void Cleanup()
Definition:
LogFactory.cs:33
Ntp.Common.Log.LogType.File
Ntp.Analyzer.Process.Main.pid
readonly int pid
Definition:
Main.cs:42
Ntp.Analyzer.Process.Main.Run
void Run()
Definition:
Main.cs:45
Ntp.Common.Log.LogGroup
Definition:
LogGroup.cs:29
Ntp.Analyzer.Process.Main
Definition:
Main.cs:28
Ntp
Ntp.Analyzer.Process.Main.Main
Main(string configFile, int pid, string pidFile, string name, LogGroup initlog)
Definition:
Main.cs:30
Ntp.Analyzer.Process.Initializer
Definition:
Initializer.cs:50
System
Ntp.Analyzer.Process.Main.configFile
readonly string configFile
Definition:
Main.cs:39
Ntp.Common.Process
Definition:
Cluster.cs:29
Ntp.Common.Log
Definition:
ActivityLog.cs:26
Ntp.Analyzer.Process
Main.cs
Generated by
1.8.11