mysql2
Version:
fast mysql driver. Implements core protocol, prepared statements, ssl and compression in native JS
34 lines (27 loc) • 881 B
JavaScript
var util = require('util');
var Buffer = require('safe-buffer').Buffer;
var Command = require('./command');
var CommandCode = require('../constants/commands');
var Packet = require('../packets/packet');
// TODO: time statistics?
// usefull for queue size and network latency monitoring
// store created,sent,reply timestamps
function Ping (callback)
{
Command.call(this);
this.onResult = callback;
}
util.inherits(Ping, Command);
Ping.prototype.start = function (packet, connection) {
var ping = new Packet(0, Buffer.from([1, 0, 0, 0, CommandCode.PING]), 0, 5);
connection.writePacket(ping);
return Ping.prototype.pingResponse;
};
Ping.prototype.pingResponse = function (packet) {
// TODO: check it's OK packet. error check already done in caller
if (this.onResult) {
process.nextTick(this.onResult.bind(this));
}
return null;
};
module.exports = Ping;