Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
languagejs
titlenetworkdiagnostics IDL
collapsetrue
interface NetworkDiagnostics {
    Promise<InterfaceTestResult>Promise<NetworkDiagnosticsResult> testInternetConnectivity()
    Promise<InterfaceTestResult>Promise<NetworkDiagnotsticsResult> testNetworkInterface(String interface_name)
    Promise<InterfaceTestResult>Promise<PingResult> ping(String host_name, PingConfig config)
    Promise<InterfaceTestResult> traceroute(String host_name, TraceRouteConfig config)
};

interface InterfaceTestResult {//< For BrightSign internal use. Behavior subject to change without notice.
    Promise<TracerouteResult> traceroute(String diagnosis; host_name, TracerouteConfig config)
    bool//< For BrightSign internal ok;use. Behavior subject to change LogListwithout log;notice.
};

interface LogInterfaceTestResult {
    String namediagnosis;
    Stringbool pass;     String resultok;
    Array<String>Array<Log> infolog;
};

interface PingConfigLog {
    longString countname;
    longbool intervalpass;
    longString timeoutresult;
    longArray<String> packetsizeinfo;
    bool ipv4;
    bool ipv6;
};

interface TraceRouteConfig {
    String resolve;//< For BrightSign internal use. Behaviour subject to change without notice.
};

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.

...

Code Block
languagejs
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.

...

Code Block
languagejs
Promise<InterfaceTestResult> testNetworkInterface(DOMStringString 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()
Code Block
languagejs
Promise<PingResult> ping(String host_name, PingConfig config)

For BrightSign internal use. Behavior subject to change without notice. Pings a device with the specified host_name to determine if there are connection issues. 

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

For BrightSign internal use. Behavior subject to change without notice. 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

...

  • [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:
    [bool] ipv4:
    [bool] ipv6:

Example

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

...