1 Stem Development TODO List
3 Feel free to tackle any of these tasks. Email uri@stemsystems.com if you
4 want design/code ideas or to discuss any of these projects.
6 Last edited Fri Jan 16 17:07:14 EST 2004
10 Add support for more event loops (Tk, Qt, tcl, WxWindows,
11 POE). See Stem::Event::EventPM for an example of how to wrap an
14 Stem::Msg, Stem::Route
16 enable tracing of delivered messages
18 basic source routing needs design work. new client hubs will
19 flood upstream who they are. master servers can respond
20 downstream which will create a fully aware tree networks.
22 add support for a forward. it takes a message, clones it and
23 changes the to address.
25 maybe move Stem::Route to Stem::Msg::Route. it is only used by
26 Stem::Msg and that better describes its name.
30 finish and test Portal forking
32 maybe convert to use Class clone/piped support. not sure if this
33 is reasonable or worth it.
37 add support for single method ref to do all the filtering. it is
38 passed the log entry and is a stem::log::entry object. it can
39 call all the action methods. there is no need for the current
40 design of a list of key/values. it will be deprecated.
42 timestamp is set with a template (strftime like but numbers only).
44 add timer based filters. single shot cron entries to toggle
45 state are fine. but how do you set the state at startup? if it
46 is between start and end times, the filter should be
47 enabled. this needs design work.
49 define and add more actions
56 write up run_stem man page in pod
58 write tech notes for run_stem
62 needs much more testing
68 (some of this is done. a good simple project to pick up)
70 design parent cell and how it spawns targeted file cells.
72 code file stem based transfer stuff.
74 add file compare options - size, timestamp, MD5
76 add single directory support.
79 add dir tree copy support
81 add throttle support? don't want to slurp entire large file in
82 and clog the system. throttle with reply messages and/or timing
84 add support for ftp and scp
88 replace read_file/write_file with File::Slurp. might as well eat
89 my own dog food. this needs to be added to the required modules
94 use proc or socket and use async IO
96 hook in Stem::Cell::Flow
98 expect handles timeouts from async IO. then it drives the state
99 machine with a timeout method. regular input is sent to the
100 state machine as data.
102 if no input matches but not timed out yet, we wait for more
103 input or the timeout.
105 do we need code callbacks? i think the higher level object
106 (protocol::ftp?) would want callbacks itself in some cases.
109 need tests for higher level cells.
111 need load testing of various subsystems.
113 need cross platform testing.
117 full pods for all modules
119 accurate docs for all class fields. this can be autogenerated
120 from the $field_info lists. we could parse only that code out
121 easily and eval the string. the either edit the internal pod or
122 some other text file. it would generate a nicely formatted
123 description of all the class fields.
127 mark by name which message is currently being delivered
129 use the hub/cell/target in the 'to' address.
131 any newly dispatched messages get a from/origin of that to
135 fix registry lookup by object to get cell/name and target
137 save current event cell name and target
139 create trace file to be written by events and message delivery