From 855d3a128a462be51642e3e2eb5744ead6e6f14d Mon Sep 17 00:00:00 2001 From: "Johnny C. Lam" Date: Sat, 10 Aug 2013 18:38:46 +0000 Subject: [PATCH] Add Reset method to Pool modules that re-initializes to empty states. git-svn-id: svn://svn.curseforge.net/wow/ovale/mainline/trunk@994 d5049fe3-3747-40f7-a4b5-f36d6801af5f --- OvalePool.lua | 9 ++++++++- OvalePoolGC.lua | 8 +++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/OvalePool.lua b/OvalePool.lua index 925bf93..1453772 100644 --- a/OvalePool.lua +++ b/OvalePool.lua @@ -21,8 +21,9 @@ OvalePool.unused = 0 -- function OvalePool:NewPool(name) - obj = { name = name, pool = {}, size = 0, unused = 0 } + obj = { name = name } setmetatable(obj, { __index = self }) + obj:Reset() return obj end @@ -56,6 +57,12 @@ function OvalePool:Drain() self.unused = 0 end +function OvalePool:Reset() + self.pool = {} + self.size = 0 + self.unused = 0 +end + function OvalePool:Debug() Ovale:FormatPrint("Pool %s has size %d with %d item(s).", self.name, self.size, self.unused) end diff --git a/OvalePoolGC.lua b/OvalePoolGC.lua index b486011..13bce90 100644 --- a/OvalePoolGC.lua +++ b/OvalePoolGC.lua @@ -21,8 +21,9 @@ OvalePoolGC.unused = 0 -- function OvalePoolGC:NewPool(name) - obj = { name = name, size = 0, unused = 0 } + obj = { name = name } setmetatable(obj, { __index = self }) + obj:Reset() return obj end @@ -36,6 +37,11 @@ end function OvalePoolGC:Release(item) end function OvalePoolGC:Drain() end +function OvalePoolGC:Reset() + self.size = 0 + self.unused = 0 +end + function OvalePoolGC:Debug() Ovale:FormatPrint("Pool %s has size %d.", self.name, self.size) end -- 1.7.9.5