66 lines
1.7 KiB
C#
66 lines
1.7 KiB
C#
// /**
|
|
// * File: NetworkApi.cs
|
|
// * Author: haraldwolff
|
|
// *
|
|
// * This file and it's content is copyrighted by the Author and / or copyright holder.
|
|
// * Any use wihtout proper permission is illegal and may lead to legal actions.
|
|
// *
|
|
// *
|
|
// **/
|
|
using System;
|
|
using ln.http.resources;
|
|
using ln.skyscanner.entities;
|
|
using System.Linq;
|
|
using ln.types;
|
|
using ln.types.net;
|
|
namespace ln.skyscanner.http
|
|
{
|
|
public class NetworkApi : JsonCallResource
|
|
{
|
|
public GlobalNetwork GlobalNetwork => SkyScanner.Instance.Entities.GlobalNetwork;
|
|
|
|
|
|
public NetworkApi(SkyScannerHttpApi container)
|
|
:base(container,"network")
|
|
{
|
|
}
|
|
|
|
[Callable]
|
|
public Node[] GetNodes()
|
|
{
|
|
Node[] nodes = GlobalNetwork.Nodes.ToArray();
|
|
return nodes;
|
|
}
|
|
|
|
[Callable]
|
|
public Node[] GetNeighbors(string pid)
|
|
{
|
|
Guid nodeID = Guid.Parse(pid);
|
|
return GlobalNetwork.FindNeighbors(GlobalNetwork.GetNode(nodeID)).ToArray();
|
|
}
|
|
|
|
[Callable]
|
|
public Node[] GetHostsInSubnet(string _network)
|
|
{
|
|
Network4 network = Network4.Parse(_network);
|
|
return GlobalNetwork.FindHostsInSubnet(network).ToArray();
|
|
}
|
|
|
|
[Callable]
|
|
public HopMap.HopNode[] GetHopTable()
|
|
{
|
|
HopMap hopMap = new HopMap(GlobalNetwork.FindNodeByIP(IPv4.Parse("10.10.10.2")));
|
|
return hopMap.HopNodes;
|
|
}
|
|
|
|
[Callable]
|
|
public HopMap.HopNode[] GetHopTable(string pid)
|
|
{
|
|
Guid persistenceID = Guid.Parse(pid);
|
|
HopMap hopMap = new HopMap(GlobalNetwork.GetNode(persistenceID));
|
|
return hopMap.HopNodes;
|
|
}
|
|
|
|
}
|
|
}
|