On Apr 23, 2006, at 6:43 PM, Alvaro Herrera wrote:
Agent M wrote:
I have created a directed graph using graphviz that shows the message
flow/event stream. Perhaps this will be helpful to someone. Of course,
corrections are also welcome.
Interesting. I'm not sure how to read the graph however -- for example
what does it mean to have ReadyForQuery in both a rectangle and an
ellipse? What do the standalone boxes mean? (e.g. the SSLRequest and
CancelRequest? and why are they wrapped in two boxes? why
Close/CloseComplete appear from nowhere and they don't lead anywhere?)
Maybe it would make more sense to have a graph of states, and the edges
would indicate what messages are sent to change from one state to
another.
I tried to group the messages by functionality: asynchronous, simple,
extended, copy, function, etc. Since ReadyForQuery shows up in multiple
modes, I put it in its own mode (hence the additional bounding box). I
agree that the graph isn't perfect, but I also ran up against certain
limitations in graphiz itself (e.g., only one level of subgraph is
supported). So it's useful as a guide, but it clearly isn't a state
machine.
-M
¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬
AgentM
[EMAIL PROTECTED]
¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬
---------------------------(end of broadcast)---------------------------
TIP 2: Don't 'kill -9' the postmaster