Guest User

Untitled

a guest
Mar 23rd, 2018
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.76 KB | None | 0 0
  1. blockdiag {
  2. orientation = portrait;
  3.  
  4. begin[shape=beginpoint, description="on_request_start"];
  5. redirect[description="on_request_redirect"];
  6. end[shape=endpoint, description="on_request_end"];
  7. exception[shape=flowchart.terminator, description="on_request_exception"];
  8.  
  9. //acquire_connection[description="Connection acquiring"];
  10.  
  11. group header_timeout {
  12. label = "8. header_timeout";
  13. color = "#FFFF00";
  14. shape = line;
  15. style = dashed;
  16.  
  17. headers_received;
  18. headers_sent;
  19. chunk_sent[description="on_request_chunk_sent"];
  20. }
  21.  
  22. chunk_received[description="on_response_chunk_received"];
  23.  
  24. begin -> begin_acquire_con;
  25. end_acquire_con -> headers_sent;
  26. headers_sent -> headers_received;
  27. headers_sent -> chunk_sent;
  28. chunk_sent -> chunk_sent [thick];
  29. chunk_sent -> headers_received;
  30. headers_received -> chunk_received;
  31. chunk_received -> chunk_received;
  32. chunk_received -> end [thick];
  33. headers_received -> redirect;
  34. headers_received -> end [thick];
  35. redirect -> headers_sent;
  36. chunk_received -> exception;
  37. chunk_sent -> exception;
  38. headers_sent -> exception;
  39.  
  40. group acquire_con {
  41. label = "acquire_con (6. timeout)";
  42. color = "#77FF77";
  43.  
  44. begin_acquire_con[shape=beginpoint];
  45. end_acquire_con[shape=endpoint];
  46. exception_acquire_con[shape=flowchart.terminator, description="Exception raised"];
  47.  
  48. group queued_timeout {
  49. label = "2. queued_timeout";
  50. color = "#FF0000";
  51. shape = line;
  52. style = dashed;
  53.  
  54. queued_start[description="on_connection_queued_start"];
  55. queued_end[description="on_connection_queued_end"];
  56. }
  57.  
  58.  
  59. group con_create_timeout {
  60. label = "3. con_create_timeout";
  61. color = "#FF0000";
  62. shape = line;
  63. style = dashed;
  64.  
  65. create_start[description="on_connection_create_start"];
  66. create_end[description="on_connection_create_end"];
  67.  
  68. //resolve_dns[description="DNS resolving"];
  69.  
  70. group sock_connect_timeout {
  71. label = "5. sock_connect_timeout";
  72. color = "#FFFF00";
  73. shape = line;
  74. style = dashed;
  75.  
  76. sock_connect[description="Connection establishment"];
  77. }
  78.  
  79. group resolve_dns {
  80. label = "resolve_dns (4. timeout)";
  81. color = "#7777FF";
  82.  
  83. begin_resolve_dns[shape=beginpoint];
  84. end_resolve_dns[shape=endpoint];
  85. exception_resolve_dns[shape=flowchart.terminator, description="Exception raised"];
  86.  
  87. resolve_start[description="on_dns_resolvehost_start"];
  88. resolve_end[description="on_dns_resolvehost_end"];
  89. cache_hit[description="on_dns_cache_hit"];
  90. cache_miss[description="on_dns_cache_miss"];
  91.  
  92. begin_resolve_dns -> cache_hit -> end_resolve_dns;
  93. begin_resolve_dns -> cache_miss -> resolve_start;
  94. resolve_start -> resolve_end -> end_resolve_dns;
  95. resolve_start -> exception_resolve_dns;
  96. }
  97. }
  98.  
  99. reuseconn[description="on_connection_reuseconn"];
  100.  
  101.  
  102. begin_acquire_con -> reuseconn;
  103. begin_acquire_con -> create_start [thick];
  104. create_start -> begin_resolve_dns;
  105. end_resolve_dns -> exception_acquire_con;
  106. end_resolve_dns -> sock_connect;
  107. sock_connect -> exception_acquire_con;
  108. sock_connect -> create_end -> end_acquire_con;
  109. begin_acquire_con -> queued_start;
  110. queued_start -> queued_end;
  111. queued_end -> reuseconn;
  112. queued_end -> create_start;
  113. reuseconn -> end_acquire_con;
  114.  
  115. }
  116. }
Add Comment
Please, Sign In to add comment