summaryrefslogtreecommitdiffstats
path: root/src/output/null.lua
diff options
context:
space:
mode:
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