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 | ||
---|---|---|
| ||
var NetworkDiagnosticsClass = require("@brightsign/networkdiagnostics"); var networkDiag = new NetworkDiagnosticsClass(); |
NetworkDiagnostics
Use this interface to retrieve diagnostic information.
Warning |
---|
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()
Code Block | ||
---|---|---|
| ||
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()
Code Block | ||
---|---|---|
| ||
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 roNetworkConfigurationobject. This method returns an InterfaceTestResult
interface when diagnostics are complete.
ping()
Code Block | ||
---|---|---|
| ||
Promise<PingResult> ping(String host_name, PingConfig config) |
Pings a device with the specified host_name
to determine if there are connection issues.
traceroute()
Code Block | ||
---|---|---|
| ||
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:
[diagnosis
String] diagnosis: A single-line diagnosis of the first problem identified with the network interface or Internet connection[ok
bool] ok: A Boolean flag indicating whether the network interface or Internet connection passed diagnostic tests[log
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:
[name
: String] name: A description of the diagnostic[pass
bool] pass: A Boolean flag indicating whether the diagnostic was successful[result
String] result: A description of the diagnostic result[info
StringList] info: A string list containing diagnostic data
PingConfig
This interface is not recommended unless you are using BrightSign OS v8.3.45 and later.
[count
unsigned short] count: The The default value is 10.[interval
unsigned long]:interval:
The The interval value in milliseconds. The default is 100.[timeout
unsigned long] timeout: The timeout value in seconds. The default is 10000.[packetsize
unsigned long] packetsize: The packet size in bytes. The default is 56.[ipv4
bool] ipv4: Enable pinging IPv4 addresses. The default istrue
.[ipv6
bool] ipv6: Enable pinging IPv6 addresses. The default istrue
.[allAddresses
bool] allAddresses: Iftrue
then ping all addresses returned from the DNS query. Iffalse,
then each will be pinged in turn until one responds. The default isfalse
.
PingResult
This interface is not recommended unless you are using BrightSign OS v8.3.45 and later.
[string] hostnamehostname
String: The host name or literal address pinged.[results
PingResults] results:
PingResults
This interface is not recommended unless you are using BrightSign OS v8.3.45 and later.
[up
bool] up: This value istrue
if at least one address responded to at least 50% of the echo requests.[ipv4
Array<ProtocolPingResult>] ipv4:[ipv6
Array<ProtocolPingResult>] ipv6:
ProtocolPingResult
This interface is not recommended unless you are using BrightSign OS v8.3.45 and later.
[address
string] address: The IP address pinged[up
bool] up: If Iftrue,
the address responded to at least 50% of the echo requests[report
ProtocolPingReport] report:
ProtocolPingReport
This interface is not recommended unless you are using BrightSign OS v8.3.45 and later.
[transmitted
unsigned short] transmitted: The number of echo requests sent[received
unsigned short] received: The number of echo replies received[stats
ProtocolPingStats] stats:
ProtocolPingStats
This interface is not recommended unless you are using BrightSign OS v8.3.45 and later.
[quickest
unsigned long] quickest: The The quickest reply received[average
unsigned long] average: The average time across all replies from address[slowest
unsigned long] slowest: The slowest reply received[units
string] units: The value is always "us", to indicate microseconds
Example
The following script creates a networkdiagnostics instance and logs Internet diagnostic data to the console:
Code Block | ||
---|---|---|
| ||
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)); }); |