The SNMP collector is devided into 4 modules:

main.c:    Basic setup, command line parsing, usage and 
           setup of signal handling.
conf.c:    Reads the configuration file and sets up the 
           structures with the SNMP variables.
collect.c: The collector itself.
output.c:  Formatting and printing of the output file.

The SNMP variables can be in one of 3 states depending on 
the queue they are currently stored in:

WAIT (w_queue): variable will be requested as soon as possible.
SENT          : SNMP GET is sent to agent. We wait for a reply
                or timeout.
IDLE (i_queue): No current action required on SNMP variable.

The following state changes are possible:

init -> WAIT  : initially, all SNMP variables need to be 
                requested. Set up by conf.c

WAIT -> SENT  : up to "max_send" SNMP GET requests with up to 
                "max_pdu" variables are sent to agents.

SENT -> IDLE  : A SNMP Response was received. If necessary, the
                variable is written to output file (output.c).

SENT -> WAIT  : the SNMP GET request timed out and "max_retry"
                not reached.

SENT -> IDLE  : the SNMP GET request timed out and we wait for
                "deferred" time for next retry.

IDLE -> WAIT  : either "deferred" or "interval" expired.

IDLE -> WAIT  : "interval" is 0 and reconfiguration signal
                received. Done by conf.c

