I'm finding the POE module documentation a bit hard to navigate, so I've been playing with some indexing notions. After a bit of munging, I boiled the CPAN search results down to ~140 entries. Some entries don't have descriptions, to be sure, but most do:
POE multitasking and networking framework for perl
POE::Component a POE servlet class
POE::Component::ArpWatch ?
POE::Component::CD::Detect Detects CD insertions and provides TOC
POE::Component::CD::Rip POE Component for running cdparanoia, a CD ripper.
POE::Component::Child Child management component
...
Although this helps, it is already a bit lengthy for easy navigation (and the
list looks like it will continue to grow). I would therefore like to suggest the
creation of a "module index tree" for POE. I'd aggregate the top few levels into
a single page, as:
POE multitasking and networking framework for Perl
| Component a servlet class
| | ArpWatch ?
| | CD detects CD insertions and provides TOC
| | Child child management component
| | Client ?
| | DBIAgent runs asynchronous DBI calls
| | DirWatch directory watcher
| | Enc ?
| | IKC ?
| | Jabber accesses Jabber servers
| | JobQueue manages queues and worker pools
| | LaDBI handles non-blocking access to the DBI API
| | Logger logging class
| | Pcap interface to Net::Pcap
| | Player ?
| | RRDTool ?
| | RSS event-based RSS parsing
| | RSSAggregator simple RSS aggregator
| | SNMP event-driven SNMP interface
| | Server ?
| | SubWrapper event-based wrapper for subs
| | TSTP handles Ctrl-Z
| | UserBase manages user authentication
| | YahooMessenger interface to Yahoo! Messenger
| Driver abstract file drivers
| | SysRW abstract sysread/syswrite file driver
| Exceptions class for handling exceptions
| Filter a protocol abstraction
| | Bloc filter between streams and blocks
| | Grep data-grepping filter
| | HTTPD convert stream to HTTP::Request and vice-versa
| | IRCD general IRC protocol processing.
| | Jabber ?
| | Line filter data as lines
| | Ls translates common ls formats into a hashref
| | Map data-mapping filter
| | RecordBlock record block abstraction
| | Reference freeze data for sending; thaw data when it arrives
| | SMTP SMTP Protocol Filter
| | Stackable multiple filter abstraction
| | Stream pass through data unchanged (a do-nothing filter)
| | YahooMessengerPacket ?
| Framework ?
| | MIDI ?
| Kernel event-driven threaded application kernel
| Loop documentation for POE's event loop bridge interface
| | Event a bridge that supports Event.pm from POE
| | Gtk ?
| | Poll ?
| | Select ?
| | Tk ?
| | UseBytes ?
| NFA event-driven non-deterministic finite automaton
| Pipe common functions for POE::Pipe::OneWay and ::TwoWay
| Preprocessor a macro/const/enum preprocessor
| Queue documentation for POE's priority queue interface
| Session an event driven abstract state machine
| | Exception POE::Session extension for handling exceptions
| | GladeXML emit POE events for Gtk callbacks
| | MessageBased a message-based (not @_ based) POE::Session
| | MultiDispatch Callback dispatch for session events.
| Sugar ?
| Wheel high-level protocol logic
| | Curses non-blocking Curses.pm input for full-screen console apps
| | FollowTail follow the tail of an ever-growing file
| | ListenAccept accept connections from regular listening sockets
| | ReadLine prompted terminal input with basic editing keys
| | ReadWrite buffered non-blocking I/O
| | Run event driven fork/exec with added value
| | SocketFactory non-blocking socket creation and management
Each of these entries would point to a "detail" page, as:
POE multitasking and networking framework for perl
| Component a POE servlet class
| | Client ?
| | | DNS a DNS client component
| | | FTP Implements an FTP client POE Component
| | | HTTP a HTTP user-agent component
| | | | SSL non-blocking SSL file handles
| | | POP3 Impliment a POP3 client POE component
| | | Ping an ICMP ping client component
| | | Rcon an implementation of the Rcon remote console protocol.
| | | TCP a simplified TCP client
| | | UserAgent LWP and LWP::Parallel based user agent
Each of the entries would, of course, link to the appropriate CPAN (or ???) page
for the module. Creating these pages wouldn't be that hard, but maintaining them
is more work than I am willing to take on. OTOH, perhaps part of the POE wiki
could be used for this purpose; if folks like the facility, some might help to
keep it up to date.
Reactions?
-r -- email: [EMAIL PROTECTED]; phone: +1 650-873-7841 http://www.cfcl.com/rdm - my home page, resume, etc. http://www.cfcl.com/Meta - The FreeBSD Browser, Meta Project, etc. http://www.ptf.com/dossier - Prime Time Freeware's DOSSIER series
