Dibbler - a portable DHCPv6  1.0.2RC1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
  1. Frequently Asked Questions

This section describes various Dibbler aspects.

  • XML files – After performing any action, server, client and relay store their internal information into XML files. As for 0.4.1 version, those files are never read, just written. This feature can be used as a debugging tool. However, it's main purpose is the ability to process and present internal state in some external form. For example using with css styles or after processing via XSLT parsers, server statistics can be presented as a web page.
  • Message building – Each TMsg object (see Messages/Msg.h) has Options list. Options (TOpt derived objects) are created (usually in the constructor). They're stored as objects. For good example, see appendRequestedOptions() method in the client messages (ClntMessages/ClntMsg.cpp). Each option and message has method storeSelf(), which is called just before message is being sent.

You might ask: what about retransmissions? Message is built each time it is being resent. That might seem inefficient, but there is an option called Estimated. It specifies how long does this particular transaction is being processed. So each time retrasmission is in fact a slightly different message. It differs in that option, so UDP checksum is different, so it has to be rebuilt.