Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 7 Next »

ON THIS PAGE

The networkdiagnostics object allows you to retrieve information about network interfaces and Internet connectivity.

networkdiagnostics IDL
interface NetworkDiagnostics {
    Promise<InterfaceTestResult> testInternetConnectivity()
    Promise<InterfaceTestResult> testNetworkInterface(String interface_name)
    Promise<InterfaceTestResult> ping(String host_name, PingConfig config)
    Promise<InterfaceTestResult> traceroute(String host_name, TraceRouteConfig config)
};

interface InterfaceTestResult {
    String diagnosis;
    bool    ok;
    LogList log;
};

interface Log {
    String name;
    String pass;
    String result;
    Array<String> info;
};

interface PingConfig {
    long count;
    long interval;
    long timeout;
    long packetsize;
    bool ipv4;
    bool ipv6;
};

interface TraceRouteConfig {
    String resolve;
};

Object Creation

To create a networkdiagnostics object, first load the brightsign/networkdiagnostics module using the require() method. Then create an instance of the networkdiagnostics class.

var NetworkDiagnosticsClass = require("@brightsign/networkdiagnostics");
var networkDiag = new NetworkDiagnosticsClass();

NetworkDiagnostics

Use this interface to retrieve diagnostic information.

Important

The testInternetConnectivity() method generates a large amount of network traffic (e.g. DNS lookups) that may degrade the performance of a player, create network congestion, or be perceived as abusive by the network's upstream DNS provider. This method is intended for one-time use to validate network connectivity or to diagnose a suspected problem. 

testInternetConnectivity()
Promise<InterfaceTestResult> testInternetConnectivity()

Performs various tests on the Internet connection (via any available network interface) to determine whether it appears to be working correctly. This method returns an InterfaceTestResult interface when diagnostics are complete.

testNetworkInterface()
Promise<InterfaceTestResult> testNetworkInterface(String interface_name)

Performs tests on the specified network interface to determine whether it appears to be working correctly. Interface name values are the same as those used with the roNetworkConfiguration object. This method returns an InterfaceTestResult interface when diagnostics are complete.

ping()
Promise<InterfaceTestResult> ping(String host_name, PingConfig config)

Ping a device with the specified host_name to determine if there are connection issues. 

traceroute()
Promise<InterfaceTestResult> traceroute(String host_name, TraceRouteConfig config)

Performs a standard traceroute diagnostic on the specified host_name.

InterfaceTestResult

This interface contains diagnostic results:

  • [String] diagnosis: A single-line diagnosis of the first problem identified with the network interface or Internet connection
  • [bool] ok: A Boolean flag indicating whether the network interface or Internet connection passed diagnostic tests
  • [Log] log: A Log object containing diagnostic information related to the network interface or Internet connection

Log

This interface contains a list of diagnostic logs. Each log contains the following attributes:

  • [String] name: A description of the diagnostic 
  • [bool] pass: A Boolean flag indicating whether the diagnostic was successful
  • [String] result: A description of the diagnostic result
  • [StringList] info: A string list containing diagnostic data

PingConfig

  • [long] count:
  • [long] interval:
  • [long] timeout:
  • [long] packetsize:  The size of the returned packet. 
  • [bool] ipv4:
  • [bool] ipv6:

TraceRouteConfig

  • [String] resolve:

Example

The following script creates a networkdiagnostics instance and logs Internet diagnostic data to the console:

var NetworkDiagnosticsClass = require("@brightsign/networkdiagnostics");
var nd = new NetworkDiagnosticsClass();
nd.testInternetConnectivity().then(
        function(data) {
            console.log(JSON.stringify(data));
        })
    .catch(
        function(data) {
            console.log(JSON.stringify(data));
        });
  • No labels