Stem Development TODO List Feel free to tackle any of these tasks. Email uri@stemsystems.com if you want design/code ideas or to discuss any of these projects. Last edited Fri Jan 16 17:07:14 EST 2004 Stem::Event::* Add support for more event loops (Tk, Qt, tcl, WxWindows, POE). See Stem::Event::EventPM for an example of how to wrap an event loop in Stem. Stem::Msg, Stem::Route enable tracing of delivered messages basic source routing needs design work. new client hubs will flood upstream who they are. master servers can respond downstream which will create a fully aware tree networks. add support for a forward. it takes a message, clones it and changes the to address. maybe move Stem::Route to Stem::Msg::Route. it is only used by Stem::Msg and that better describes its name. Stem::Portal finish and test Portal forking maybe convert to use Class clone/piped support. not sure if this is reasonable or worth it. Stem::Log add support for single method ref to do all the filtering. it is passed the log entry and is a stem::log::entry object. it can call all the action methods. there is no need for the current design of a list of key/values. it will be deprecated. timestamp is set with a template (strftime like but numbers only). add timer based filters. single shot cron entries to toggle state are fine. but how do you set the state at startup? if it is between start and end times, the filter should be enabled. this needs design work. define and add more actions email msg run_stem write up run_stem man page in pod write tech notes for run_stem Stem::Proc needs much more testing test pseudo tty Stem::File (some of this is done. a good simple project to pick up) design parent cell and how it spawns targeted file cells. code file stem based transfer stuff. add file compare options - size, timestamp, MD5 add single directory support. filename filters add dir tree copy support add throttle support? don't want to slurp entire large file in and clog the system. throttle with reply messages and/or timing add support for ftp and scp Stem::Util replace read_file/write_file with File::Slurp. might as well eat my own dog food. this needs to be added to the required modules list in Build.PL Stem::Expect use proc or socket and use async IO hook in Stem::Cell::Flow expect handles timeouts from async IO. then it drives the state machine with a timeout method. regular input is sent to the state machine as data. if no input matches but not timed out yet, we wait for more input or the timeout. do we need code callbacks? i think the higher level object (protocol::ftp?) would want callbacks itself in some cases. Testing need tests for higher level cells. need load testing of various subsystems. need cross platform testing. Documentation full pods for all modules accurate docs for all class fields. this can be autogenerated from the $field_info lists. we could parse only that code out easily and eval the string. the either edit the internal pod or some other text file. it would generate a nicely formatted description of all the class fields. Tracing mark by name which message is currently being delivered use the hub/cell/target in the 'to' address. any newly dispatched messages get a from/origin of that to just copy the to? fix registry lookup by object to get cell/name and target save current event cell name and target create trace file to be written by events and message delivery (or dispatch?)