• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<!-- Originally created with blockdiag. -->
2<svg xmlns="http://www.w3.org/2000/svg" xmlns:inkspace="http://www.inkscape.org/namespaces/inkscape" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 604 559" width="604px" height="559px">
3  <defs id="defs_block">
4    <filter height="1.504" id="filter_blur" inkspace:collect="always" width="1.1575" x="-0.07875" y="-0.252">
5      <feGaussianBlur id="feGaussianBlur3780" inkspace:collect="always" stdDeviation="4.2"/>
6    </filter>
7  </defs>
8  <title>Cancelled Bidirectional Streaming RPC</title>
9  <desc>seqdiag {
10  default_note_color = aliceblue;
11
12  client -&gt; server [
13      label = "start",
14      leftnote = "PacketType.REQUEST\nchannel ID\nservice ID\nmethod ID"
15  ];
16
17  client --&gt; server [
18      noactivate,
19      label = "messages (zero or more)",
20      leftnote = "PacketType.CLIENT_STREAM\nchannel ID\nservice ID\nmethod ID\npayload"
21  ];
22
23  client &lt;-- server [
24      noactivate,
25      label = "messages (zero or more)",
26      rightnote = "PacketType.SERVER_STREAM\nchannel ID\nservice ID\nmethod ID\npayload"
27  ];
28
29  client -&gt; server [
30      noactivate,
31      label = "cancel",
32      leftnote = "PacketType.CLIENT_ERROR\nchannel ID\nservice ID\nmethod ID\nstatus=CANCELLED"
33  ];
34}</desc>
35  <rect fill="rgb(0,0,0)" height="384" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1" width="8" x="209" y="153"/>
36  <rect fill="rgb(0,0,0)" height="384" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1" width="8" x="401" y="153"/>
37  <polygon fill="rgb(0,0,0)" points="64,126 189,126 197,134 197,180 64,180 64,126" stroke="rgb(0,0,0)" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1"/>
38  <polygon fill="rgb(0,0,0)" points="27,220 189,220 197,228 197,287 27,287 27,220" stroke="rgb(0,0,0)" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1"/>
39  <polygon fill="rgb(0,0,0)" points="421,327 583,327 591,335 591,394 421,394 421,327" stroke="rgb(0,0,0)" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1"/>
40  <polygon fill="rgb(0,0,0)" points="33,434 189,434 197,442 197,501 33,501 33,434" stroke="rgb(0,0,0)" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1"/>
41  <rect fill="rgb(0,0,0)" height="40" stroke="rgb(0,0,0)" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1" width="128" x="149" y="46"/>
42  <rect fill="rgb(0,0,0)" height="40" stroke="rgb(0,0,0)" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1" width="128" x="341" y="46"/>
43  <path d="M 210 80 L 210 547" fill="none" stroke="rgb(0,0,0)" stroke-dasharray="8 4"/>
44  <rect fill="moccasin" height="384" stroke="rgb(0,0,0)" width="8" x="206" y="147"/>
45  <path d="M 402 80 L 402 547" fill="none" stroke="rgb(0,0,0)" stroke-dasharray="8 4"/>
46  <rect fill="moccasin" height="384" stroke="rgb(0,0,0)" width="8" x="398" y="147"/>
47  <rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="128" x="146" y="40"/>
48  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="37" x="210.5" y="66">client</text>
49  <rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="128" x="338" y="40"/>
50  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="37" x="402.5" y="66">server</text>
51  <path d="M 218 147 L 394 147" fill="none" stroke="rgb(0,0,0)"/>
52  <polygon fill="rgb(0,0,0)" points="386,143 394,147 386,151" stroke="rgb(0,0,0)"/>
53  <polygon fill="rgb(240,248,255)" points="61,120 186,120 194,128 194,174 61,174 61,120" stroke="rgb(0,0,0)"/>
54  <path d="M 186 120 L 186 128" fill="none" stroke="rgb(0,0,0)"/>
55  <path d="M 186 128 L 194 128" fill="none" stroke="rgb(0,0,0)"/>
56  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="109" x="123.5" y="133">PacketType.REQUEST</text>
57  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="61" x="99.5" y="146">channel ID</text>
58  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="61" x="99.5" y="159">service ID</text>
59  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="55" x="96.5" y="172">method ID</text>
60  <path d="M 218 247 L 394 247" fill="none" stroke="rgb(0,0,0)" stroke-dasharray="4"/>
61  <polygon fill="rgb(0,0,0)" points="386,243 394,247 386,251" stroke="rgb(0,0,0)"/>
62  <polygon fill="rgb(240,248,255)" points="24,214 186,214 194,222 194,281 24,281 24,214" stroke="rgb(0,0,0)"/>
63  <path d="M 186 214 L 186 222" fill="none" stroke="rgb(0,0,0)"/>
64  <path d="M 186 222 L 194 222" fill="none" stroke="rgb(0,0,0)"/>
65  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="146" x="105.0" y="227">PacketType.CLIENT_STREAM</text>
66  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="61" x="62.5" y="240">channel ID</text>
67  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="61" x="62.5" y="253">service ID</text>
68  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="55" x="59.5" y="266">method ID</text>
69  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="43" x="53.5" y="279">payload</text>
70  <path d="M 218 354 L 394 354" fill="none" stroke="rgb(0,0,0)" stroke-dasharray="4"/>
71  <polygon fill="rgb(0,0,0)" points="226,350 218,354 226,358" stroke="rgb(0,0,0)"/>
72  <polygon fill="rgb(240,248,255)" points="418,321 580,321 588,329 588,388 418,388 418,321" stroke="rgb(0,0,0)"/>
73  <path d="M 580 321 L 580 329" fill="none" stroke="rgb(0,0,0)"/>
74  <path d="M 580 329 L 588 329" fill="none" stroke="rgb(0,0,0)"/>
75  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="146" x="499.0" y="334">PacketType.SERVER_STREAM</text>
76  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="61" x="456.5" y="347">channel ID</text>
77  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="61" x="456.5" y="360">service ID</text>
78  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="55" x="453.5" y="373">method ID</text>
79  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="43" x="447.5" y="386">payload</text>
80  <path d="M 218 461 L 394 461" fill="none" stroke="rgb(0,0,0)"/>
81  <polygon fill="rgb(0,0,0)" points="386,457 394,461 386,465" stroke="rgb(0,0,0)"/>
82  <polygon fill="rgb(240,248,255)" points="30,428 186,428 194,436 194,495 30,495 30,428" stroke="rgb(0,0,0)"/>
83  <path d="M 186 428 L 186 436" fill="none" stroke="rgb(0,0,0)"/>
84  <path d="M 186 436 L 194 436" fill="none" stroke="rgb(0,0,0)"/>
85  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="140" x="108.0" y="441">PacketType.CLIENT_ERROR</text>
86  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="61" x="68.5" y="454">channel ID</text>
87  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="61" x="68.5" y="467">service ID</text>
88  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="55" x="65.5" y="480">method ID</text>
89  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="97" x="86.5" y="493">status=CANCELLED</text>
90  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="31" x="237.5" y="145">start</text>
91  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="140" x="292.0" y="245">messages (zero or more)</text>
92  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="140" x="324.0" y="352">messages (zero or more)</text>
93  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="37" x="240.5" y="459">cancel</text>
94</svg>
95