summaryrefslogtreecommitdiff
path: root/indra/newview/scripts/lua/Queue.lua
diff options
context:
space:
mode:
authornat-goodspeed <nat@lindenlab.com>2024-03-15 14:56:43 -0400
committerGitHub <noreply@github.com>2024-03-15 14:56:43 -0400
commitc5dec705cf6bb3dce9381c9ec574335356051297 (patch)
tree0620f4bab572b1cd38ba8e8db03130b1e65ec1f7 /indra/newview/scripts/lua/Queue.lua
parentee8bc528bbf97ee8cc488651fb263b07b5c1c818 (diff)
parentbac113e30d987d7884c58490e6ea39a1bbd87d05 (diff)
Merge pull request #1004 from secondlife/lua-leap
Add leap.lua module to mediate LEAP request/response viewer interactions.
Diffstat (limited to 'indra/newview/scripts/lua/Queue.lua')
-rw-r--r--indra/newview/scripts/lua/Queue.lua41
1 files changed, 21 insertions, 20 deletions
diff --git a/indra/newview/scripts/lua/Queue.lua b/indra/newview/scripts/lua/Queue.lua
index e178ad9969..b0a5a87f87 100644
--- a/indra/newview/scripts/lua/Queue.lua
+++ b/indra/newview/scripts/lua/Queue.lua
@@ -1,40 +1,41 @@
--- from https://create.roblox.com/docs/luau/queues#implementing-queues
+-- from https://create.roblox.com/docs/luau/queues#implementing-queues,
+-- amended per https://www.lua.org/pil/16.1.html
local Queue = {}
-Queue.__index = Queue
-function Queue.new()
- local self = setmetatable({}, Queue)
+function Queue:new()
+ local obj = setmetatable({}, self)
+ self.__index = self
- self._first = 0
- self._last = -1
- self._queue = {}
+ obj._first = 0
+ obj._last = -1
+ obj._queue = {}
- return self
+ return obj
end
-- Check if the queue is empty
function Queue:IsEmpty()
- return self._first > self._last
+ return self._first > self._last
end
-- Add a value to the queue
function Queue:Enqueue(value)
- local last = self._last + 1
- self._last = last
- self._queue[last] = value
+ local last = self._last + 1
+ self._last = last
+ self._queue[last] = value
end
-- Remove a value from the queue
function Queue:Dequeue()
- local first = self._first
- if self:IsEmpty() then
- return nil
- end
- local value = self._queue[first]
- self._queue[first] = nil
- self._first = first + 1
- return value
+ if self:IsEmpty() then
+ return nil
+ end
+ local first = self._first
+ local value = self._queue[first]
+ self._queue[first] = nil
+ self._first = first + 1
+ return value
end
return Queue