bouncer: fix ratelimit & stats handling

Signed-off-by: Yonle <yonle@lecturify.net>
This commit is contained in:
Yonle
2024-04-04 21:52:10 +07:00
parent e9f79114d0
commit 83dc69bfd7

View File

@@ -380,14 +380,23 @@ function newConn(addr, id, reconn_t = 0) {
break; break;
case "CLOSED": case "CLOSED":
case "OK": if ((typeof(data[1]) !== "string") || (typeof(data[2]) !== "string")) return;
if (typeof(data[2]) !== "string") return;
if (data[2].startsWith("rate-limited")) relay.ratelimit = Date.now(); if (data[2].startsWith("rate-limited")) relay.ratelimit = Date.now();
if (log_about_relays) console.log(process.pid, id, addr, data[0], data[1], data[2]); if (log_about_relays) console.log(process.pid, id, addr, data[0], data[1], data[2]);
if ((data[0]) === "OK") { stats._global.f++
switch (data[1]) { stats[addr].f++
if (client.pendingEOSE.has(data[1])) client.pendingEOSE.set(data[1], client.pendingEOSE.get(data[1]) + 1);
break;
case "OK":
if ((typeof(data[1]) !== "string") || (typeof(data[2]) !== "boolean") || (typeof(data[3]) !== "string")) return;
if (data[3].startsWith("rate-limited")) relay.ratelimit = Date.now();
if (log_about_relays) console.log(process.pid, id, addr, data[0], data[1], data[2], data[3]);
switch (data[2]) {
case true: case true:
stats._global.tx++; stats._global.tx++;
stats[addr].tx++; stats[addr].tx++;
@@ -395,13 +404,6 @@ function newConn(addr, id, reconn_t = 0) {
stats._global.f++ stats._global.f++
stats[addr].f++ stats[addr].f++
} }
}
if ((data[0] === "CLOSED") && client.pendingEOSE.has(data[1])) {
stats._global.f++
stats[addr].f++
client.pendingEOSE.set(data[1], client.pendingEOSE.get(data[1]) + 1);
}
break; break;
} }