1/* A simplified state diagram for HttpSM with API callout points */
2/*   */
3
4
5digraph g {
6center=1;
7size = "7.5,10";
8fontsize="20";
9label = "Inktomi CONFIDENTIAL";
10orientation = "portrait";
11
12"ACCEPT" [ label = "Accept" ];
13"RD_REQ_HDRS" [ label = "Read Req Headers" ];
14"DNS" [ label = "DNS" ];
15"C_LOOKUP" [ label = "Cache Lookup" ];
16"CACHE_LOCK" [ label = "Lock URL in Cache" ];
17"PICK_ADDR" [ label = "Pick Address" ];
18"CACHE_MATCH" [ label = "Cache Match" ];
19"CACHE_FRESH" [ label = "Cache Fresh" ];
20"SND_REQ_HDRS" [ label = "Send Req Headers" ];
21"SETUP_C_READ" [ label = "Setup Cache Read" ];
22"SND_C_HDRS" [ label = "Send Cached Headers" ];
23"CONNECT" [ label = "Try Connect" ];
24"SND_REQ_HDRS" [ label = "Send Req Headers" ];
25"RD_REP_HDRS" [ label = "Read Reply Headers" ];
26"VALID" [ label = "Check Valid" ];
27"SETUP_S_READ" [ label = "Setup Server Read" ];
28"SETUP_CACHE_WRITE" [ label = "Setup Cache Write" ];
29"SETUP_TRANS" [ label = "Setup Transform" ];
30"SETUP_REQ_TRANS" [ label = "Setup Request Transform" ];
31"SETUP_BODY_READ" [ label = "Setup POST/PUT Read" ];
32"TUNNEL" [ label = "Tunnel Response" ];
33"TUNNEL_REQ" [ label = "Tunnel Request Body" ];
34"SND_REP_HDRS" [ label = "Send Reply Headers" ];
35
36"API_START" [ label = "API - Start" shape=box ];
37"API_RD_REQ_HDRS" [ label = "API - Read Req Headers" shape=box ];
38"API_DNS" [ label = "API - DNS" shape=box ];
39"API_CACHE_MATCH" [ label = "API - Cache Match" shape=box ];
40"API_CACHE_READ_HDR" [ label = "API - Cache Read Header" shape=box ];
41"API_SND_REQ_HDRS" [ label = "API - Send Req Headers" shape=box ];
42"API_RD_REP_HDRS" [ label = "API - Read Reply Headers" shape=box ];
43"API_SND_REP_HDRS" [ label = "API - Send Reply Headers" shape=box ];
44"API_SHUTDOWN" [ label = "API - Shutdown" shape=box ];
45
46"ACCEPT" -> "API_START";
47"API_START" -> "RD_REQ_HDRS";
48"RD_REQ_HDRS" -> "API_RD_REQ_HDRS";
49"API_RD_REQ_HDRS" -> "DNS";
50"DNS" -> "API_DNS";
51"API_DNS" -> "C_LOOKUP";
52"C_LOOKUP" -> "API_CACHE_MATCH" [ label = "hit" ];
53"C_LOOKUP" -> "CACHE_LOCK" [ label = "miss" ];
54"CACHE_LOCK" -> "PICK_ADDR";
55"API_CACHE_MATCH" -> "CACHE_MATCH";
56"CACHE_MATCH" -> "CACHE_LOCK" [ label = "no match" ];
57"CACHE_MATCH" -> "API_CACHE_READ_HDR" [ label ="match" ];
58"API_CACHE_READ_HDR" -> "CACHE_FRESH";
59"CACHE_FRESH" -> "SND_C_HDRS" [ label ="fresh" ];
60"CACHE_FRESH" -> "CACHE_LOCK" [ label ="stale" ];
61"SND_C_HDRS" -> "SETUP_C_READ";
62"SETUP_C_READ" -> "SETUP_TRANS";
63"PICK_ADDR" -> "CONNECT";
64"CONNECT" -> "PICK_ADDR" [ label = "fail" ];
65"CONNECT" -> "API_SND_REQ_HDRS" [ label = "success" ];
66"API_SND_REQ_HDRS" -> "SND_REQ_HDRS";
67"SND_REQ_HDRS" -> "SETUP_BODY_READ" [label = "POST/PUT" ];
68"SETUP_BODY_READ" -> "SETUP_REQ_TRANS";
69"SETUP_REQ_TRANS" -> "TUNNEL_REQ";
70"TUNNEL_REQ" -> "RD_REP_HDRS";
71"SND_REQ_HDRS" -> "RD_REP_HDRS" [label = "GET" ];
72"RD_REP_HDRS" -> "API_RD_REP_HDRS"
73"API_RD_REP_HDRS" -> "VALID";
74"VALID" -> "PICK_ADDR" [ label = "no" ];
75"VALID" -> "SETUP_S_READ" [ label = "yes" ];
76"SETUP_S_READ" -> "SETUP_TRANS" [ label = "Uncachable" ];
77"SETUP_S_READ" -> "SETUP_CACHE_WRITE" [ label = "Cacheable" ];
78"SETUP_CACHE_WRITE" -> "SETUP_TRANS";
79"SETUP_TRANS" -> "API_SND_REP_HDRS";
80"API_SND_REP_HDRS" -> "SND_REP_HDRS";
81"SND_REP_HDRS" -> "TUNNEL";
82"TUNNEL" -> "API_SHUTDOWN"
83"API_SHUTDOWN" -> "ACCEPT";
84
85}
86
87