📄 srv-inv-tree.dot
字号:
digraph srv_inv_tree {
rankdir=LR
size="8,10"
ratio=0.8 // !ah! might be off
rotate=90
compound=true
fontname="Helvetica"
fontsize=6
node [
style=invis
// fixedsize=true
fontsize=8
shape=circle
// width="0.01"
// height="0.01"
fontname="Helvetica"
]
graph
[
// ranksep=1.5 // modify to shrink nodes etc
// nodesep=1.5
fontsize=8
fontname="Helvetica"
labelfontsize=8
labelfontname="Helvetica"
]
edge
[
fontname="Helvetica"
fontsize=8
arrowhead=normal
]
// Now setup labels and visual stuff.
{ rank=same ; n1; }
{ rank=same ; n2 n3; }
{ rank=same ; n11 n10 n9 n8; }
{ rank=same ; n32 n25 n26 n23 n27 n28; }
n0 -> n1 [ label="got(resp)" ]
n1 -> n3 [ label="CANCEL" ]
n3 [fixedsize=false style=solid shape=box label="Proc. SRV non-INV"]
n1 -> n2 [ label="cSeq=INV" ]
n2 -> n4 [ label="101-199" ]
n4 -> n11 [ label="Try|Proc" ]
n11[
fixedsize=false style=solid shape=box
label="Proceeding\nsend(RESP)\nsave for re-TX"
]
n4 -> n10 [ label="*" ]
n10 [fixedsize=false style=solid shape=box label="ign"]
n2 -> n9 [ label="2xx" ]
n9 [
fixedsize=false style=solid shape=box
fontsize=8
label="snd(RESP)\nmach=stale\nstate=term?\nsetTimer(STALE)\nTS\n"
]
n2 -> n8 [ label="300-699" ]
n8 [
style=solid
shape=box
fixedsize=false
fontsize=8
label="snd(RESP)\nsetTimer(H)\nunrel? -> setTimer(G)\nT1"
]
n2 -> n5 [ label="100" ]
n5 -> n6 [ label="Trying" ]
n6 [
fixedsize=false style=solid shape=box
label="snd(PROCEEDING)"
]
n5 -> n7 [ label="*" ]
n7 [fixedsize=false style=solid shape=box label="ign" ]
{ rank=same; n13 n16 n21;}
n0 -> n12 [ label="rcv(request)" ]
n12 -> n13 [ label="INV" ]
n13 -> n14 [ label="Proc | Completed"]
n14 [
fixedsize=false style=solid shape=box
label="SEND"
]
n13 -> n15 [ label="*" ]
n15[fixedsize=false style=solid shape=box label="ign"]
n12 -> n16 [label="ACK"]
n16 -> n17 [label="Completed"]
n17 -> n18 [label="reliable"]
n18 [fixedsize=false style=solid shape=box label="del(FSM)"]
n17 -> n19 [label="unreliable"]
n19 [fixedsize=false style=solid shape=box label="confirmed\ntimerStart(I)" fontsize=6 ]
n12 -> n21 [label="CANCEL"]
n21[fixedsize=false style=solid shape=box label="proc. srv non-INV"]
n0 -> n22 [label="timer exp"]
n22 -> n23[label="J"]
n23 [fixedsize=false style=solid shape=box label="delState(CANCEL)"]
n22 -> n24 [label="G"]
n24 -> n25 [label="completed"]
n25[fixedsize=false style=solid shape=box label="G = 2G\nstartTimer(G)"]
n24 -> n26 [label="*"]
n26 [fixedsize=false style=solid shape=box label="ign"]
n22 -> n27 [label="H"]
n27[fixedsize=false style=solid shape=box label="delState(THIS)"]
n22 -> n28 [label=I]
n28[fixedsize=false style=solid shape=box label="delState(THIS)"]
n22 -> n29 [label=Try]
n29 -> n30 [label="*"]
n30[fixedsize=false style=solid shape=box label=ign]
n29 -> n31 [label="Trying?"]
n31[fixedsize=false style=solid shape=box label="Proceeding\nsnd(100)"]
n0 -> n32[label="Transport Error"]
n32[fixedsize=false style=solid shape=box label="delState(THIS)"]
LABEL_NODE
[
fixedsize=false
style=solid
shape=plaintext
fontsize=6
label="Server INVITE FSM\n$Id: srv-inv-tree.dot,v 1.2 2002/09/23 00:11:57 fluffy Exp $ $Name: $"
]
// Fixups
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -