Software /
code /
prosody
File
net/resolvers/chain.lua @ 12804:3eef052c72d8
mod_c2s: Advertise stanza size limit to clients
Should help clients avoid sending stanzas that will get their stream
killed. Custom namespace while ironing out the protocol.
My spoon is too big!
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Tue, 16 Mar 2021 18:17:05 +0100 |
parent | 12204:7c397a49d163 |
line wrap: on
line source
local methods = {}; local resolver_mt = { __index = methods }; -- Find the next target to connect to, and -- pass it to cb() function methods:next(cb) if self.resolvers then if not self.resolver then if #self.resolvers == 0 then cb(nil); return; end local next_resolver = table.remove(self.resolvers, 1); self.resolver = next_resolver; end self.resolver:next(function (...) if self.resolver then self.last_error = self.resolver.last_error; end if ... == nil then self.resolver = nil; self:next(cb); else cb(...); end end); return; end end local function new(resolvers) return setmetatable({ resolvers = resolvers }, resolver_mt); end return { new = new; };