$Id: TODO,v 1.33 1999/04/26 15:18:11 trockij Exp $

-fix TRAP_PRO_VERSION, where it should not be an integer but a string like "0.38.9".
 also add something like pro_cmp.

-output to client should be buffered and incorporated into the I/O loop.
 There is the danger that a sock_write to a client will block the server.

-make trap.alert use Mon::Client

-finish muxpect

-make alerts nonblocking, and handle them in a similar fashion to
 monitors. i.e., serialize per-service (or per-period) alerts.

-make "no upalerts w/o a downalert" option

-document "clear" client command

-Separate the decision-making code about sending alerts into a
 separate routine, and make do_alert do nothing but deliver the
 actual alert.

-Document trap authentication.

-Document traps.

-fix client opstatus parsing by converting clients to use Mon::Client

-Make monitors parallelize their tasks, similar to fping.monitor. This
 is an important scalability problem.

-make changes to tkined so that it can query a mon server and
 update the graphical map accordingly.

-re-vamp the host disabling. 1) store them in a table with a timeout
 on each so that they can automatically re-enable themselves so
 people don't forget to re-enable them manually. 2) don't do
 the disabling by "commenting" them out of the host groups.
 We still want them to be tested for failure, but just disable
 alerts that have to do with the disabled hosts.
 When a host is commented out, accept a "reason" field that
 is later accessible so that you can tell why someone disabled
 the host.

-allow checking a service at a particular time of day, maybe using
 inPeriod.

-implement some sort of "worsening-condition" rule on a per-service
 basis, triggering different alerts when things are really bad.

-maybe make a command that will disable an alert for a certain amount
 of time (maybe implement this as an at(1) job??)

-make it possible to disable just one of multiple alarms in a service

-Add better grammar checking to the config file. Don't allow watch
 records for groups that haven't been defined, etc.

-What happens to stderr from monitors and alerts???
