General
	Shutdown process
		Unregister probe [done]
		Wait for "read prefs interval" or no received packets for X seconds
	SNMP AgentX
		Provide integration as a Net-SNMP subagent
		http://www.net-snmp.org/tutorial/tutorial-5/toolkit/
	Use libdbi for database connectivity

Web GUI
	Support both JpGraph 1.x (PHP4) and 2.x (PHP5). [done]

Structures
	probes
		IP and version of probe so we can send/receive/reflect compatible packets [done]
	packet
		Source/dest,data  [done]
		Packet includes version of protocol [done]
	prefs
		Contains preferences to use, primary source being the database [done]
	args
		Command line arguments [done]
	
Transmit Thread
	Starts up and never exits [done]
	Will transmit each cycle based on contents of probe list [done]
	Will transmit a packet that is compatible with remote probe [n/a]
	Will require probe list mutex to allow modification without flipping [done]
	Behaviour peer test loop modified by prefs without restart [done]
	Does not care about connection to database [done]
	Reads preferences from database and modifies internal structures to handle changes [done]

Receive Thread
	Starts up and never exits [done]
	Reflects received packets [done]
		Recieved packets should be verified against probe list to prevent misuse.
	Terminates packets we originated [done]
	Calculates data [done]
	Places results into data queue [done]
	Behaviour peer test loop modified by prefs without restart [done]
	Does not care about connection to database [done]

Data Thread
	Starts and never exits [done]
	Removes packets from data queue [done]
	Maintains connection to database [done]
	Registers probe with database, including version number [done]
	If connection to the database is lost, will continue to try and reconnect [done]
	Can receive shutdown message from database configuration
	Random probe provides roll up of database [done]
		Configurable priority value for roll up work
		0 is highest priority. Implement by adding priority to nextUpdate time in database, giving lower numbers a better chance of winning.
	Will trim queue down X minutes if unable to write to database - tail drop [done]
	Will write results to flatfile to provide results to Net-SNMP
		Provide total tx pps
		Provide total rx pps
		Provide per probe data - loss, rtt, ott, etc

#
# Local Variables:
# c-basic-offset: 3
# tab-width: 3
# End:
# vim: noet ts=3 sw=3
#
