Loading lib/kinetic.js +30 −0 Original line number Diff line number Diff line Loading @@ -1615,6 +1615,35 @@ class EndBatchResponsePDU extends PDU { } } /** * Read and decode pdu message from incoming socket * @param {Stream} socket - incoming socket * @param {callback} callback - callback(error, pdu) * @returns {callback} callback(error, pdu) */ function parsePDU(socket, callback) { socket.pause(); socket.once('readable', () => { const header = socket.read(HEADER_SZ); if (header !== null) { const protobufSize = header.readInt32BE(1); const rawData = socket.read(protobufSize); if (rawData !== null) { const pdu = new PDU( Buffer.concat([header, rawData], HEADER_SZ + protobufSize)); let error; if (pdu.getMessageType() !== ops.NOOP) { error = (pdu.getStatusCode() === errors.SUCCESS) ? null : pdu.getErrorMessage(); } return callback(error, pdu); } } else { return callback({ noHeader: true }); } }); } module.exports = { getVersion, logs, Loading @@ -1624,6 +1653,7 @@ module.exports = { getErrorName, protoBuild, getLogType, parsePDU, PDU, InitPDU, GetLogPDU, Loading Loading
lib/kinetic.js +30 −0 Original line number Diff line number Diff line Loading @@ -1615,6 +1615,35 @@ class EndBatchResponsePDU extends PDU { } } /** * Read and decode pdu message from incoming socket * @param {Stream} socket - incoming socket * @param {callback} callback - callback(error, pdu) * @returns {callback} callback(error, pdu) */ function parsePDU(socket, callback) { socket.pause(); socket.once('readable', () => { const header = socket.read(HEADER_SZ); if (header !== null) { const protobufSize = header.readInt32BE(1); const rawData = socket.read(protobufSize); if (rawData !== null) { const pdu = new PDU( Buffer.concat([header, rawData], HEADER_SZ + protobufSize)); let error; if (pdu.getMessageType() !== ops.NOOP) { error = (pdu.getStatusCode() === errors.SUCCESS) ? null : pdu.getErrorMessage(); } return callback(error, pdu); } } else { return callback({ noHeader: true }); } }); } module.exports = { getVersion, logs, Loading @@ -1624,6 +1653,7 @@ module.exports = { getErrorName, protoBuild, getLogType, parsePDU, PDU, InitPDU, GetLogPDU, Loading