Revision history for Perl extension POE::Component::SNMP.

0.01  Mon Apr 21 13:28:31 2003
        - original version; created by h2xs 1.22 with options
                -AX -n POE::Component::SNMP

0.90  Mon Jun  7 18:44:00 2004
        - Module inherited by Rob Bloodgood, from the previous
          mainainer, Todd Caine.

        - added POE::Component::SNMP::Dispatcher module, to subclass
          Net::SNMP::Dispatcher such that all socket and scheduling
          operations were processed by POE's event loop.

        - updated the callback variables so that the hostname and
          session alias of the SNMP object queried are returned to the
          callback event.

        - made write tests optional during install, so that the module
          would install correctly even where a writeable host was
          unavailable.
        
0.92  Mon Sep  6 13:19:53 2004
        - Updated to be compatible with new Net::SNMP release 5.0.0

0.93  Thu Aug 11 11:57:29 2005
        - Updated POE session constructor from the deprecated new() to
          the new create() method.

        - Removed a bunch of commented, deprecated code that was still
          a holdover from the 0.01

0.94  Thu Mar 30 14:43:19 2006
        - Reorganized the module distribution to use a lib/ dir, cuz
          MakeMaker was being dumb.

        - Updated Makefile.PL to remove the config file on 'make
          realclean'

        - Tweaked the docs.

        - Altered the sample script in the SYNOPSIS to actually work.

        - Removed remaining commented references to deprecated code.

        - Followed a suggestion from Curtis J. Coleman to re-order
          component shutdown so that finish() worked correctly.

        - Lots of minor cleanups in the text

        - At LAST: removed the duplicate methods to account for the
          difference between Net::SNMP 4.x and 5.x.  Now this is
          achieved by aliasing the functions that need to be
          duplicated in the symbol table.

0.95  Sat Apr  8 14:46:54 PDT 2006
        - Collapsed all the identical method calls into a dispatch
          mechanism around a single method call template.

        - VASTLY improved error handling.

        - Added the snmp method (eg get, set, walk) and request args
          to the request packet returned to callbacks.

        - Reorganized Dispatcher.pm, trimmed old commented
          code. Removed unneeded debugging statements.

	- trimmed unnecessary parameters from calls to
          __invoke_callback().

        - added new tests for various aspects of error handling.

0.96  Mon Apr 10 01:29:40 PDT 2006
	- re-ordered the hostname and community checks so that the
	  fatal "hostname is required" is thrown BEFORE the warning
	  "using default community".

	- added new tests for error conditions and parameter errors

	- changed the return values to always return something sane,
          e.g. a string or a ref, not a string or a ref or maybe an
          undef, THEN a string!  The only reason I didn't change this
          before is that I mistakenly thought this weird error
          structure came directly from Net::SNMP, but it turns out I
          just inherited it. <sigh>

	- for compatibility, continue to return the $snmp_object->error
	  value in the second slot, since the last change alters the API.

	- Also, changed the original args returned to callbacks from
          being a listref to a simple list, in the same way they
          came in.

	- Unified style in docs.  Cleaned up internal and external POD
          links.

0.97  Mon Apr 10 13:14:01 PDT 2006
        - Fixed some formatting tweaks in the docs.

        - Renamed the function snmp_last_error_message to snmp_errmsg,
          to correspond the the component request 'errmsg', like the
          other method names.

        - DANG!  Left in some debugging references to YAML and Spiffy
          that I meant to comment out. Which breaks systems that don't
          have those modules installed.  Grr.  Fixed.

        - Also pulled references to YAML from the sample script... not
          everybody has YAML.

0.98  Wed Apr 12 20:02:12 PDT 2006
        - Improved dispatcher tracing by making all calls consistently
          trace their execution.  Use Net::SNMP debug functions to
          report our activities when the debug flag to trace the
          Dispatcher is set in the constructor.  Gives nice,
          consistent trace output.

        - Started work to remove the requirement that each host have a
          different -localport parameter.  I chased it down.  The
          fundemental question is, how is it possible for Net::SNMP to
          reuse the same socket for every remote host, without parsing
          the internals of the packet and matching them to a "replies
          expected" table?  The answer is, it is not.  Net::SNMP
          dispatches all queries in the order received, serially.  The
          workaround we used is correct.  Note to self: NOW STOP
          WONDERING IF THIS IS POSSIBLE!

        - Accidentally optimized the whole module by a factor of at
          least 3x by copying Net::SNMP::Dispatcher's send_pdu() into
          PoCo::SNMP::Dispatcher.  See notes on send_pdu().

        - changed schedule() so that events with no delay simply
          invoke their callback args instead of post()ing to
          __invoke_callback.

        - updated _send_pdu to return TRUE, just like the SUPER::
          version does.