• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<!-- Originally created with blockdiag. -->
2<svg viewBox="0 0 598 465" xmlns="http://www.w3.org/2000/svg" xmlns:inkspace="http://www.inkscape.org/namespaces/inkscape" xmlns:xlink="http://www.w3.org/1999/xlink" width="598px" height="465px">
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 Server Streaming RPC</title>
9  <desc>seqdiag {
10  default_note_color = aliceblue;
11
12  client -&gt; server [
13      label = "request",
14      leftnote = "PacketType.REQUEST\nchannel ID\nservice ID\nmethod ID\npayload"
15  ];
16
17  client &lt;-- server [
18      noactivate,
19      label = "messages (zero or more)",
20      rightnote = "PacketType.SERVER_STREAM\nchannel ID\nservice ID\nmethod ID\npayload"
21  ];
22
23  client -&gt; server [
24      noactivate,
25      label = "cancel",
26      leftnote  = "PacketType.CLIENT_ERROR\nchannel ID\nservice ID\nmethod ID\nstatus=CANCELLED"
27  ];
28}</desc>
29  <rect fill="rgb(0,0,0)" height="284" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1" width="8" x="203" y="159" />
30  <rect fill="rgb(0,0,0)" height="284" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1" width="8" x="395" y="159" />
31  <polygon fill="rgb(0,0,0)" points="58,126 183,126 191,134 191,193 58,193 58,126" stroke="rgb(0,0,0)" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1" />
32  <polygon fill="rgb(0,0,0)" points="415,233 577,233 585,241 585,300 415,300 415,233" stroke="rgb(0,0,0)" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1" />
33  <polygon fill="rgb(0,0,0)" points="27,340 183,340 191,348 191,407 27,407 27,340" stroke="rgb(0,0,0)" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1" />
34  <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="143" y="46" />
35  <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="335" y="46" />
36  <path d="M 204 80 L 204 453" fill="none" stroke="rgb(0,0,0)" stroke-dasharray="8 4" />
37  <rect fill="moccasin" height="284" stroke="rgb(0,0,0)" width="8" x="200" y="153" />
38  <path d="M 396 80 L 396 453" fill="none" stroke="rgb(0,0,0)" stroke-dasharray="8 4" />
39  <rect fill="moccasin" height="284" stroke="rgb(0,0,0)" width="8" x="392" y="153" />
40  <rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="128" x="140" y="40" />
41  <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="204.5" y="66">client</text>
42  <rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="128" x="332" y="40" />
43  <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="396.5" y="66">server</text>
44  <path d="M 212 153 L 388 153" fill="none" stroke="rgb(0,0,0)" />
45  <polygon fill="rgb(0,0,0)" points="380,149 388,153 380,157" stroke="rgb(0,0,0)" />
46  <polygon fill="rgb(240,248,255)" points="55,120 180,120 188,128 188,187 55,187 55,120" stroke="rgb(0,0,0)" />
47  <path d="M 180 120 L 180 128" fill="none" stroke="rgb(0,0,0)" />
48  <path d="M 180 128 L 188 128" fill="none" stroke="rgb(0,0,0)" />
49  <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="117.5" y="133">PacketType.REQUEST</text>
50  <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="93.5" y="146">channel ID</text>
51  <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="93.5" y="159">service ID</text>
52  <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="90.5" y="172">method ID</text>
53  <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="84.5" y="185">payload</text>
54  <path d="M 212 260 L 388 260" fill="none" stroke="rgb(0,0,0)" stroke-dasharray="4" />
55  <polygon fill="rgb(0,0,0)" points="220,256 212,260 220,264" stroke="rgb(0,0,0)" />
56  <polygon fill="rgb(240,248,255)" points="412,227 574,227 582,235 582,294 412,294 412,227" stroke="rgb(0,0,0)" />
57  <path d="M 574 227 L 574 235" fill="none" stroke="rgb(0,0,0)" />
58  <path d="M 574 235 L 582 235" fill="none" stroke="rgb(0,0,0)" />
59  <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="493.0" y="240">PacketType.SERVER_STREAM</text>
60  <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="450.5" y="253">channel ID</text>
61  <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="450.5" y="266">service ID</text>
62  <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="447.5" y="279">method ID</text>
63  <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="441.5" y="292">payload</text>
64  <path d="M 212 367 L 388 367" fill="none" stroke="rgb(0,0,0)" />
65  <polygon fill="rgb(0,0,0)" points="380,363 388,367 380,371" stroke="rgb(0,0,0)" />
66  <polygon fill="rgb(240,248,255)" points="24,334 180,334 188,342 188,401 24,401 24,334" stroke="rgb(0,0,0)" />
67  <path d="M 180 334 L 180 342" fill="none" stroke="rgb(0,0,0)" />
68  <path d="M 180 342 L 188 342" fill="none" stroke="rgb(0,0,0)" />
69  <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="102.0" y="347">PacketType.CLIENT_ERROR</text>
70  <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="360">channel ID</text>
71  <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="373">service ID</text>
72  <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="386">method ID</text>
73  <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="80.5" y="399">status=CANCELLED</text>
74  <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="237.5" y="151">request</text>
75  <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="318.0" y="258">messages (zero or more)</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="37" x="234.5" y="365">cancel</text>
77</svg>
78