Commit | Line | Data |
4536f655 |
1 | |
2 | Stem Technical Notes |
3 | |
4 | |
5 | Stem Architecture |
6 | |
7 | This describes the top level architecture of Stem, in particular |
8 | what its components are (Hubs and Cells) and how they work |
9 | together. |
10 | |
11 | Stem Cells |
12 | |
13 | This describes Stem Cells, the primary components of a Stem |
14 | system. It covers both class and object type Cells, their |
15 | creation and registration and their method conventions. |
16 | |
17 | Stem Messages |
18 | |
19 | This describes the content and fields of Stem messages. These are |
20 | used to communicate between Stem Cells. |
21 | |
22 | Stem Registry and Message Addresses |
23 | |
24 | This describes how Cells are registered so they can receive |
25 | messages and the way messages are addressed. |
26 | |
27 | Cell Creation and Configuration |
28 | |
29 | Stem Cells can be created internally via a constructor or from |
30 | external configurations. This describes the common systems used |
31 | to create and register Cells. |
32 | |
33 | Logging Subsystem |
34 | |
35 | This describes the Stem logging subsystem including logical |
36 | logs, log files, log filters and how to submit log entries. |
37 | |
38 | Cron Subsystem |
39 | |
40 | This describes the Stem Cron subsystem and how it can schedule |
41 | regular Stem message submissions based on time and date. |
42 | |
43 | Stem Events |
44 | |
45 | This describes the low level Stem Event subsystem including |
46 | reading, writing and socket events. |
47 | |
48 | Security Notes |
49 | |
50 | This describes the Stem security model and its features. |
51 | |
52 | |
53 | Stem Cell and Module Notes |
54 | |
55 | These are some of the Cells and modules in the Stem library. These notes |
56 | will describe what they are, why they are needed and how they are |
57 | used. Also some examples of their use and configuration are given. For |
58 | detailed descriptions of their configuration, attributes, and methods |
59 | see their documentation (available in the source tree or <HERE>) |
60 | |
61 | NOTE to jasmine: when we get the pod generation stuff going soon, we |
62 | will make html versions of the pod docs and web them. they need to be |
63 | linked from each cell tech notes and be in a documentation subdir with a |
64 | nav bar link. this is later but i am just letting you know now. |
65 | |
66 | NOTE: also i am going to list all of the cells here, even if they don't |
67 | have a tech notes page yet. make an empty one for them. we should come |
68 | up with a template for their names, format, etc. i want to drop the |
69 | 'notes' part in most cases. |
70 | |
71 | |
72 | Stem::Conf |
73 | |
74 | This module parses and executes Stem configurations from both |
75 | local files and sent from remote Stem Hubs. |
76 | |
77 | Stem::Proc |
78 | |
79 | This Cell forks off and manages external processes. They can be |
80 | monitored and all their I/O can be easily be integrated with |
81 | Stem via messages, logs and/or callbacks. |
82 | |
83 | Stem::SockMsg |
84 | |
85 | This Cell connects to and accepts standard Internet |
86 | sockets. They can be monitored and all their I/O can be easily |
87 | be integrated with Stem via messages, logs and/or callbacks. |
88 | |
89 | Stem::Cron |
90 | |
91 | This module creates and manages scheduled message submissions. |
92 | |
93 | Stem::Log |
94 | |
95 | This module supports the Stem logging subsystem. It encompasses |
96 | the Stem::Log::File, Stem::Log::Filter and Stem::Log::Entry |
97 | classes. |
98 | |
99 | Stem::LogTail |
100 | |
101 | This Cell monitors an active external log file. It sends new |
102 | data into the Stem logging subsystem on periodic basis or on |
103 | demand. |
104 | |
105 | Stem::Switch |
106 | |
107 | This Cell is a general purpose Stem Message multiplexor. |
108 | Messages directed to this Cell can be |
109 | |
110 | Stem::Debug |
111 | |
112 | This class is used to create standard and customized debug and |
113 | trace subs in any Stem module. The used |
114 | |
115 | Stem::Id |
116 | |
117 | This class is used to create ID's for dynamically created |
118 | Cells that need unique addresses. |
119 | |
120 | Stem::Portal |
121 | |
122 | This class creates and manages connections between Stem Hubs. It |
123 | converts Stem Messages to/from a stream format for transmission |
124 | over the connection. |
125 | |
126 | Stem::AsyncIO |
127 | |
128 | This class is used by other Cells to create and manage buffered |
129 | I/O streams to sockets and process handles. |
130 | |
131 | Stem::Socket |
132 | |
133 | This class is the low level API to create socket connections and |
134 | accepted sockets. |
135 | |
136 | Stem::TtyMsg |
137 | |
138 | This class Cell is used to provide a TTY interface to a running |
139 | Stem Hub. Stem command messages can be entered and sent to Cells |
140 | and their responses are printed. |