Provided by: dnsjit_1.3.0-1build2_amd64 bug

NAME

       dnsjit.output.tcpcli - Simple, length aware, TCP client

SYNOPSIS

         local output = require("dnsjit.output.tcpcli").new("127.0.0.1", "53")

DESCRIPTION

       Simple  TCP  client that takes any payload you give it, sends the length of the payload as an unsigned 16
       bit integer and then sends the payload.  When receiving it will first retrieve the length of the  payload
       as an unsigned 16 bit integer and it will stall until it gets, even if nonblocking mode is used.  Then it
       will  retrieve  at  least  that  amount  of bytes, if nonblocking mode is used here then it will return a
       payload object with length zero if there was nothing to receive or if the  full  payload  have  not  been
       received yet.  Additional calls will continue retrieving the payload.

   Attributes
       timeout
              A core.timespec that is used when producing objects.

   Functions
       Tcpcli.new()
              Create a new Tcpcli output.

       Tcpcli:timeout(seconds, nanoseconds)
              Set the timeout when producing objects.

       Tcpcli:connect(host, port)
              Connect to the host and port and return 0 if successful.

       Tcpcli:nonblocking(bool)
              Enable  (true)  or  disable  (false)  nonblocking  mode and return 0 if successful, if bool is not
              specified then return if nonblocking mode is on (true) or off (false).

       Tcpcli:receive()
              Return the C functions and context for receiving objects, these objects will be sent.

       Tcpcli:produce()
              Return the C functions and  context  for  producing  objects,  these  objects  are  received.   If
              nonblocking  mode  is  enabled the producer will return a payload object with length zero if there
              was nothing to receive or if the full payload have not been received yet.  If nonblocking mode  is
              disabled  the  producer will wait for data and if timed out (see timeout) it will return a payload
              object with length zero.  If a timeout happens during during the first stage, getting the  length,
              it will fail and return nil.  Additional calls will continue retrieving the payload.  The producer
              returns nil on error.

       Tcpcli:packets()
              Return the number of "packets" sent, actually the number of completely sent payloads.

       Tcpcli:received()
              Return the number of "packets" received, actually the number of completely received DNS messages.

       Tcpcli:errors()
              Return the number of errors when sending.

AUTHORS and CONTRIBUTORS

       Jerry Lundström (DNS-OARC), Tomáš Křížek (CZ.NIC), Petr Špaček (ISC)

       Maintained by DNS-OARC

              https://www.dns-oarc.net/

BUGS

       For issues and feature requests please use:

              https://github.com/DNS-OARC/dnsjit/issues

       For question and help please use:

              admin@dns-oarc.net

dnsjit                                                1.3.0                              dnsjit.output.tcpcli(3)