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

Reply via email to