diff options
author | Matthew Wild <mwild1@gmail.com> | 2018-04-30 12:53:53 +0100 |
---|---|---|
committer | Matthew Wild <mwild1@gmail.com> | 2018-04-30 12:53:53 +0100 |
commit | eb96155cf38e4265efef76c70027d684dad2e9f0 (patch) | |
tree | 39aac646bbf509a67a34694a84046c4551afc4f7 | |
parent | d62d872cd329dd0bfb487258a21a0532f24b01fa (diff) | |
download | prosody-eb96155cf38e4265efef76c70027d684dad2e9f0.tar.gz prosody-eb96155cf38e4265efef76c70027d684dad2e9f0.zip |
util.async: Add helper methods for setting watchers
-rw-r--r-- | util/async.lua | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/util/async.lua b/util/async.lua index 012cfd87..e8be0510 100644 --- a/util/async.lua +++ b/util/async.lua @@ -215,12 +215,28 @@ end function runner_mt:enqueue(input) table.insert(self.queue, input); self:log("debug", "queued new work item, %d items queued", #self.queue); + return self; end function runner_mt:log(level, fmt, ...) return log(level, "[runner %s] "..fmt, self.id, ...); end +function runner_mt:onready(f) + self.watchers.ready = f; + return self; +end + +function runner_mt:onwaiting(f) + self.watchers.waiting = f; + return self; +end + +function runner_mt:onerror(f) + self.watchers.error = f; + return self; +end + local function ready() return pcall(checkthread); end |