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
agentm@themactionfaction.com
¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬