summaryrefslogtreecommitdiffstats
path: root/src/output/null.lua
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2021-07-17 07:11:12 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2021-07-17 07:11:12 +0000
commitb72837827d9290c7ec50b9e4b9e1a0f194ddccca (patch)
tree8df663325413d0f92086d740638555de6b779df7 /src/output/null.lua
parentAdding upstream version 1.1.0+debian. (diff)
downloaddnsjit-be78963741e5f69dc1ef588ab7370152b98ef8bc.tar.xz
dnsjit-be78963741e5f69dc1ef588ab7370152b98ef8bc.zip
Adding upstream version 1.2.1.upstream/1.2.1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/output/null.lua')
-rw-r--r--src/output/null.lua63
1 files changed, 7 insertions, 56 deletions
diff --git a/src/output/null.lua b/src/output/null.lua
index b634c56..b0e167f 100644
--- a/src/output/null.lua
+++ b/src/output/null.lua
@@ -17,64 +17,15 @@
-- along with dnsjit. If not, see <http://www.gnu.org/licenses/>.
-- dnsjit.output.null
--- Output to nothing (/dev/null)
--- local output = require("dnsjit.output.null").new()
+-- Dummy layer to example.output.null
--
--- Output module for those that doesn't really like packets.
+-- This module has moved to example.output.null, see examples/modules/output-example in
+-- dnsjit source repository.
module(...,package.seeall)
-require("dnsjit.output.null_h")
-local ffi = require("ffi")
-local C = ffi.C
-
-local t_name = "output_null_t"
-local output_null_t = ffi.typeof(t_name)
-local Null = {}
-
--- Create a new Null output.
-function Null.new()
- local self = {
- _producer = nil,
- obj = output_null_t(),
- }
- C.output_null_init(self.obj)
- ffi.gc(self.obj, C.output_null_destroy)
- return setmetatable(self, { __index = Null })
-end
-
--- Return the Log object to control logging of this instance or module.
-function Null:log()
- if self == nil then
- return C.output_null_log()
- end
- return self.obj._log
-end
-
--- Return the C functions and context for receiving objects.
-function Null:receive()
- return C.output_null_receiver(), self.obj
-end
-
--- Set the producer to get objects from.
-function Null:producer(o)
- self.obj.prod, self.obj.ctx = o:produce()
- self._producer = o
-end
-
--- Retrieve all objects from the producer, if the optional
--- .I num
--- is a positive number then stop after that amount of objects have been
--- retrieved.
-function Null:run(num)
- if num == nil then
- num = -1
- end
- C.output_null_run(self.obj, num)
-end
-
--- Return the number of packets we sent into the void.
-function Null:packets()
- return tonumber(self.obj.pkts)
+ok, cls = pcall(require, "example.output.null")
+if not ok then
+ error("You need to install the example module output-example\n" .. cls)
end
-return Null
+return cls