20 lines
565 B
Lua
20 lines
565 B
Lua
local M = {}
|
|
local seen = {}
|
|
local count = 0
|
|
local MAX = 50
|
|
local function make_key(version, peer, ua)
|
|
return #version .. ":" .. version .. #peer .. ":" .. peer .. #ua .. ":" .. ua
|
|
end
|
|
function M.report(version, peer, ua)
|
|
if not version or version == "" then return end
|
|
if not peer or peer == "" then return end
|
|
if not ua or ua == "" then return end
|
|
local key = make_key(version, peer, ua)
|
|
if seen[key] then return end
|
|
if count >= MAX then return end
|
|
seen[key] = true
|
|
count = count + 1
|
|
M.sink(version, peer, ua)
|
|
end
|
|
return M
|