Vulture/VApp/node_modules/ping/lib/ping-sys.js

45 lines
1.0 KiB
JavaScript

'use strict';
/**
* LICENSE MIT
* (C) Daniel Zelisko
* http://github.com/danielzzz/node-ping
*
* a simple wrapper for ping
* Now with support of not only english Windows.
*
*/
// Promise implementation
var ping = require('./ping-promise');
// TODO:
// 1. Port round trip time to this callback
// 2. However, it may breaks backward compatability
// 3. Need discussion
/**
* Callback after probing given host
* @callback probeCallback
* @param {boolean} isAlive - Whether target is alive or not
* @param {Object} error - Null if no error occurs
*/
/**
* Class::Ping construtor
* @param {string} addr - Hostname or ip addres
* @param {probeCallback} cb - Callback
* @param {PingConfig} config - Configuration for command ping
*/
function probe(addr, cb, config) {
// Do not reassign function parameter
var _config = config || {};
return ping.probe(addr, _config).then(function (res) {
cb(res.alive, null);
}).catch(function (err) {
cb(null, err);
});
}
exports.probe = probe;