mirror of
https://github.com/node-red/node-red.git
synced 2025-03-01 10:36:34 +00:00
Fix delay node not dropping when nodeMessageBufferMaxLength is set (#4973)
* Fix delay node not dropping when nodeMessageBufferMaxLength is set to close #4966 * Rmove redundant codes * Tidy up code removal --------- Co-authored-by: Nick O'Leary <nick.oleary@gmail.com>
This commit is contained in:
parent
dae4ba8044
commit
56a4530ec6
@ -291,26 +291,6 @@ module.exports = function(RED) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (!msg.hasOwnProperty("reset")) {
|
else if (!msg.hasOwnProperty("reset")) {
|
||||||
if (maxKeptMsgsCount(node) > 0) {
|
|
||||||
if (node.intervalID === -1) {
|
|
||||||
node.send(msg);
|
|
||||||
node.intervalID = setInterval(sendMsgFromBuffer, node.rate);
|
|
||||||
} else {
|
|
||||||
if (node.allowrate && msg.hasOwnProperty("rate") && !isNaN(parseFloat(msg.rate)) && node.rate !== msg.rate) {
|
|
||||||
node.rate = msg.rate;
|
|
||||||
clearInterval(node.intervalID);
|
|
||||||
node.intervalID = setInterval(sendMsgFromBuffer, node.rate);
|
|
||||||
}
|
|
||||||
if (node.buffer.length < _maxKeptMsgsCount) {
|
|
||||||
var m = RED.util.cloneMessage(msg);
|
|
||||||
node.buffer.push({msg: m, send: send, done: done});
|
|
||||||
} else {
|
|
||||||
node.trace("dropped due to buffer overflow. msg._msgid = " + msg._msgid);
|
|
||||||
node.droppedMsgs++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
if (node.allowrate && msg.hasOwnProperty("rate") && !isNaN(parseFloat(msg.rate))) {
|
if (node.allowrate && msg.hasOwnProperty("rate") && !isNaN(parseFloat(msg.rate))) {
|
||||||
node.rate = msg.rate;
|
node.rate = msg.rate;
|
||||||
}
|
}
|
||||||
@ -325,9 +305,9 @@ module.exports = function(RED) {
|
|||||||
else if ( ( (timeSinceLast[0] * SECONDS_TO_NANOS) + timeSinceLast[1] ) > (node.rate * MILLIS_TO_NANOS) ) {
|
else if ( ( (timeSinceLast[0] * SECONDS_TO_NANOS) + timeSinceLast[1] ) > (node.rate * MILLIS_TO_NANOS) ) {
|
||||||
node.lastSent = process.hrtime();
|
node.lastSent = process.hrtime();
|
||||||
send(msg);
|
send(msg);
|
||||||
} else if (node.outputs === 2) {
|
|
||||||
send([null,msg])
|
|
||||||
}
|
}
|
||||||
|
else if (node.outputs === 2) {
|
||||||
|
send([null,msg])
|
||||||
}
|
}
|
||||||
done();
|
done();
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user