NTP Analyzer
0.8.2
Analyze the operation of time servers
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
PeerPageJob.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
.Linq;
23
using
Ntp
.
Analyzer
.
Config
.
Node
.
Navigation
;
24
using
Ntp
.
Analyzer
.
Config
.
Node
.
Page
;
25
using
Ntp
.
Analyzer
.
Data
;
26
using
Ntp
.
Analyzer
.
Page
;
27
using
Ntp
.
Analyzer
.
Process
.
Log
;
28
using
Ntp
.
Common
.
Log
;
29
using
Ntp
.
Common
.
Process
;
30
31
namespace
Ntp
.Analyzer.Process.Description
32
{
33
public
sealed
class
PeerPageJob
:
StreamJob
34
{
35
public
PeerPageJob
(
36
MenuConfiguration
menu,
37
PeerPageConfiguration
page,
38
LogBase
log)
39
: base(page, log)
40
{
41
this.menu = menu;
42
this.page = page;
43
}
44
45
private
readonly
MenuConfiguration
menu
;
46
private
readonly
PeerPageConfiguration
page
;
47
48
public
override
ThreadType
ThreadType
=> ThreadType.MultiThreaded;
49
50
public
override
string
JobType =>
"Peer pages build"
;
51
52
public
override
int
Priority => 11;
53
54
protected
override
void
InternalExecute
()
55
{
56
var host =
DataFace
.
Instance
.
Hosts
.SingleOrDefault(h => h.Id == page.HostId);
57
if
(host == null)
58
{
59
Log.HostNotFound(page.HostId);
60
return
;
61
}
62
63
var peers =
DataFace
.
Instance
.
PeerActivities
.Where(p => Equals(p.Host, host) && p.IsActive);
64
65
foreach
(var entry
in
peers)
66
{
67
var peerPageBuilder = page.Theme ==
PageTheme
.Bootstrap
68
?
new
BootstrapPeerPageBuilder
(host, entry.Peer, menu, page)
69
: (
PageBuilderBase
)
new
DefaultPeerPageBuilder
(entry.Peer, page);
70
71
SaveStream(peerPageBuilder, entry.Name +
".html"
);
72
}
73
}
74
}
75
}
Ntp.Analyzer.Config
Ntp.Common.Process.ThreadType
ThreadType
Definition:
ThreadType.cs:24
Ntp.Analyzer.Data.DataFace.Hosts
HostDatabaseMapper Hosts
Gets the host mapper.
Definition:
DataFace.cs:57
Ntp.Analyzer.Data
Ntp.Analyzer.Process.Description.StreamJob
Definition:
StreamJob.cs:29
Ntp.Analyzer.Process.Description.PeerPageJob.InternalExecute
override void InternalExecute()
Implementing method for descendants.
Definition:
PeerPageJob.cs:54
Ntp.Analyzer.Process.Description.PeerPageJob.menu
readonly MenuConfiguration menu
Definition:
PeerPageJob.cs:45
Ntp.Analyzer.Process.Description.PeerPageJob
Definition:
PeerPageJob.cs:33
Ntp.Common
Ntp.Analyzer.Page
Definition:
BootstrapAboutPageBuilder.cs:29
Ntp.Analyzer.Process.Description.PeerPageJob.PeerPageJob
PeerPageJob(MenuConfiguration menu, PeerPageConfiguration page, LogBase log)
Definition:
PeerPageJob.cs:35
Ntp.Analyzer.Config.Node.Navigation.MenuConfiguration
Definition:
MenuConfiguration.cs:28
Ntp.Common.Log.LogBase
Definition:
LogBase.cs:26
Ntp.Analyzer.Data.DataFace
Singleton facade class used to access memory persistent data.
Definition:
DataFace.cs:30
Ntp
Ntp.Analyzer.Data.DataFace.PeerActivities
PeerActivityDatabaseMapper PeerActivities
Gets the peer activity mapper.
Definition:
DataFace.cs:99
System
Ntp.Analyzer.Page.BootstrapPeerPageBuilder
Definition:
BootstrapPeerPageBuilder.cs:35
Ntp.Analyzer.Config.Node.Navigation
Definition:
DropdownItemConfiguration.cs:26
Ntp.Analyzer.Page.PageBuilderBase
Definition:
PageBuilderBase.cs:29
Ntp.Analyzer.Config.Node.Page
Definition:
AboutPageConfiguration.cs:29
Ntp.Analyzer.Process.Description.PeerPageJob.page
readonly PeerPageConfiguration page
Definition:
PeerPageJob.cs:46
Ntp.Analyzer.Config.Node.Page.PeerPageConfiguration
Definition:
PeerPageConfiguration.cs:34
Ntp.Analyzer.Config.Node.Page.PageTheme
PageTheme
Definition:
PageTheme.cs:24
Ntp.Analyzer.Config.Node
Definition:
ClusterConfiguration.cs:24
Ntp.Analyzer.Process
Ntp.Analyzer.Data.DataFace.Instance
static DataFace Instance
Gets the Singleton instance.
Definition:
DataFace.cs:51
Ntp.Analyzer.Process.Log
Definition:
LogExtensions.cs:30
Ntp.Analyzer
Ntp.Common.Process
Definition:
Cluster.cs:29
Ntp.Common.Log
Definition:
ActivityLog.cs:26
Ntp.Analyzer.Page.DefaultPeerPageBuilder
Definition:
DefaultPeerPageBuilder.cs:32
Ntp.Analyzer.Process
Description
PeerPageJob.cs
Generated by
1.8.11