Software /
code /
prosody
Changeset
9926:1bfd28e774db
util.queue: Update :items() to consistently use private data directly
It will perform better this way, and we were accessing private variables already within the iterator.
Replaces 3eea63a68e0f
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Tue, 26 Mar 2019 13:54:14 +0000 |
parents | 9925:8d0112413997 |
children | 9927:1460c4966262 |
files | util/queue.lua |
diffstat | 1 files changed, 4 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/util/queue.lua Tue Mar 26 13:51:06 2019 +0000 +++ b/util/queue.lua Tue Mar 26 13:54:14 2019 +0000 @@ -52,16 +52,15 @@ return t[tail]; end; items = function (self) - --luacheck: ignore 431/t - return function (t, pos) - if pos >= t:count() then + return function (_, pos) + if pos >= items then return nil; end local read_pos = tail + pos; - if read_pos > t.size then + if read_pos > self.size then read_pos = (read_pos%size); end - return pos+1, t._items[read_pos]; + return pos+1, t[read_pos]; end, self, 0; end; consume = function (self)