...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
interface NetworkDiagnostics {
Promise<NetworkDiagnosticsResult> testInternetConnectivity()
Promise<NetworkDiagnotsticsResult> testNetworkInterface(String interface_name)
Promise<PingResult> ping(String host_name, PingConfig config)
//< For BrightSign internal use. Behavior subject to change without notice.
Promise<TracerouteResult> traceroute(String host_name, TracerouteConfig config)
//< For BrightSign internal use. Behavior subject to change without notice.
};
interface InterfaceTestResult {
String diagnosis;
bool ok;
Array<Log> log;
};
interface Log {
String name;
bool pass;
String result;
Array<String> info;
//< For BrightSign internal use. Behaviour subject to change without notice.
};
interface PingConfig {
unsigned? short count; // default 10
unsigned long? interval; // in milliseconds, default 100
unsigned long? timeout; // in seconds, default 10000
unsigned long? packetsize; // in bytes, default 56
bool? ipv4; // enable pinging IPv4 addresses, default true
bool? ipv6; // enable pinging IPv6 addresses, default false
bool? allAddresses; // if true then ping all addresses returned from DNS query,
// if false then each will be pinged in turn until one responds, default false
};
interface PingResult {
String hostname; // host name or literal address pinged
PingResults results;
};
interface PingResults {
bool up; // true if at least one address responded to at least 50% of the echo requests
Array<ProtocolPingResult>? ipv4;
Array<ProtocolPingResult>? ipv6;
};
interface ProtocolPingResult {
String address; // IP address pinged
bool up; // true if the address responded to at least 50% of the echo requests
ProtocolPingReport report;
};
interface ProtocolPingReport {
unsigned short transmitted; // number of echo requests sent
unsigned short received; // number of echo replies received
ProtocolPingStats stats;
};
interface ProtocolPingStats {
unsigned long quickest; // quickest reply received
unsigned long average; // average time across all replies from address
unsigned long slowest; // slowest reply received
String units; // always "us" to indicate microseconds
}; |
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.
...
[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
[unsigned short] count:
The default value is 10[unsigned long]
interval:
Value in milliseconds. The default is 100.[unsigned long]
timeout:
The timeout value in seconds. The default is 10000.[unsigned long] packetsize
: // in bytes, default 56[bool]
ipv4:
Enable pinging IPv6 addresses. The default is true.[bool]
ipv6:
Enable pinging IPv6 addresses. The default isfalse.[bool]
allAddresses:
If true then ping all addresses returned from the DNS query, if false then each will be pinged in turn until one responds. The default is false.
PingResult
[string] hostname:
The host name or literal address pinged[PingResults] results:
PingResults
[bool] up:
This value is true if at least one address responded to at least 50% of the echo requests[Array<ProtocolPingResult>] ipv4:
[Array<ProtocolPingResult>] ipv6:
Example
The following script creates a networkdiagnostics instance and logs Internet diagnostic data to the console:
...