diff --git a/Program.cs b/Program.cs index de05c32..715ceef 100644 --- a/Program.cs +++ b/Program.cs @@ -45,9 +45,6 @@ namespace ln.skyscanner public static void Main(string[] args) { - new testODB().TestCase(); - return; - FileLogger fileLogger = new FileLogger("skyscanner.log"); fileLogger.MaxLogLevel = LogLevel.INFO; Logger.Default.Backends.Add(fileLogger); @@ -63,6 +60,8 @@ namespace ln.skyscanner private static void Initialize() { + SNMPEngine.DefaultEngine.Timeout = 3500; + //using (ODB odb = new ODB("odb")) //{ diff --git a/crawl/Crawler.cs b/crawl/Crawler.cs index 74486b4..18f7284 100644 --- a/crawl/Crawler.cs +++ b/crawl/Crawler.cs @@ -213,6 +213,7 @@ namespace ln.skyscanner.crawl CrawledSubnet sn = CrawledSubnets.Where(subnet => subnet.Network.Equals(network)).FirstOrDefault(); if (sn == null) { + Logging.Log(LogLevel.INFO, "Crawler adds new subnet: {0}",network); sn = new CrawledSubnet(network); CrawledSubnets.Insert(sn); } diff --git a/entities/GlobalNetwork.cs b/entities/GlobalNetwork.cs index 50d29f0..e9ca68f 100644 --- a/entities/GlobalNetwork.cs +++ b/entities/GlobalNetwork.cs @@ -90,9 +90,7 @@ namespace ln.skyscanner.entities ip = ip.Host; IntfIP _iip = SkyEntities.intfIPCollection.Where((iip) => iip.IP.Host.Equals(ip)).FirstOrDefault(); - if (_iip != null) - return _iip.NetworkInterface.Node; - return null; + return _iip?.NetworkInterface?.Node; } [Unsynced] diff --git a/entities/NetworkInterface.cs b/entities/NetworkInterface.cs index 62e6b16..6b9c5c5 100644 --- a/entities/NetworkInterface.cs +++ b/entities/NetworkInterface.cs @@ -14,9 +14,10 @@ using ln.skyscanner.crawl; using ln.types.odb; using Newtonsoft.Json; using LiteDB; +using ln.logging; namespace ln.skyscanner.entities { - public class NetworkInterface : Persistent + public class NetworkInterface { [DocumentID] public readonly Guid ID = Guid.NewGuid(); @@ -60,7 +61,11 @@ namespace ln.skyscanner.entities public override int GetHashCode() { - return Node.GetHashCode() ^ Name.GetHashCode(); + if (Node == null) + Logging.Log(LogLevel.WARNING, "NetworkInterface without Node detected. ID={2} NodeID={0} Name={1}",NodeID,Name,ID); + else + return Node.GetHashCode() ^ Name.GetHashCode(); + return 0; } public override bool Equals(object obj) @@ -68,7 +73,7 @@ namespace ln.skyscanner.entities if (obj is NetworkInterface) { NetworkInterface networkInterface = obj as NetworkInterface; - return Node.Equals(networkInterface.Node) && Name.Equals(networkInterface.Name); + return object.Equals(Node,networkInterface.Node) && object.Equals(Name,networkInterface.Name); } return false; } diff --git a/entities/Node.cs b/entities/Node.cs index 3a36c79..5714cc5 100644 --- a/entities/Node.cs +++ b/entities/Node.cs @@ -38,10 +38,8 @@ namespace ln.skyscanner.entities public string ProductLine { get; set; } - public IEnumerable Interfaces => Timing.Meassure("Node.Interfaces", - () => SkyScanner.Instance.Entities.interfaceCollection.Select("NodeID", ID) - ); - public IEnumerable IPAdresses => Timing.Meassure("Node.IPAddesses", () => Interfaces.SelectMany(intf => intf.IPs).Select((iip)=>iip.IP)); + public IEnumerable Interfaces => SkyScanner.Instance.Entities.interfaceCollection.Select("NodeID", ID); + public IEnumerable IPAdresses => Interfaces.SelectMany(intf => intf.IPs).Select((iip) => iip.IP).Distinct(); private HashSet uris = new HashSet(); diff --git a/http/NetworkApi.cs b/http/NetworkApi.cs index 051a996..03d9bc4 100644 --- a/http/NetworkApi.cs +++ b/http/NetworkApi.cs @@ -27,7 +27,8 @@ namespace ln.skyscanner.http [Callable] public Node[] GetNodes() { - return GlobalNetwork.Nodes.ToArray(); + Node[] nodes = GlobalNetwork.Nodes.ToArray(); + return nodes; } [Callable] diff --git a/templates/static/nav.html b/templates/static/nav.html index 9c0d239..d674296 100644 --- a/templates/static/nav.html +++ b/templates/static/nav.html @@ -20,7 +20,7 @@

Struktur

Hop Table
diff --git a/templates/static/network/index.html b/templates/static/network/index.html index 9475247..98efb31 100644 --- a/templates/static/network/index.html +++ b/templates/static/network/index.html @@ -66,7 +66,7 @@ $.each( node.Interfaces, function(){ var intf = this; $.each( intf.IPs, function(){ - $("#dInterfaces").append( $( "" ) ); + $("#dInterfaces").append( $( "" ) ); }); });