Willy Tarreau | 61d095e | 2021-02-24 09:07:52 +0100 | [diff] [blame] | 1 | <?xml version="1.0" encoding="UTF-8" standalone="no"?> |
| 2 | <!-- Creator: fig2dev Version 3.2.7b --> |
| 3 | <!-- CreationDate: 2021-02-24 09:03:04 --> |
| 4 | <!-- Magnification: 1 --> |
| 5 | <svg xmlns="http://www.w3.org/2000/svg" |
| 6 | xmlns:xlink="http://www.w3.org/1999/xlink" |
| 7 | width="954pt" height="764pt" |
| 8 | viewBox="254 -90 15885 12723"> |
| 9 | <g fill="none"> |
| 10 | <!-- Line --> |
| 11 | <rect x="12000" y="10800" width="1800" height="600" rx="105" fill="#458dba" |
| 12 | stroke="#000000" stroke-width="30px" stroke-linejoin="round"/> |
| 13 | <!-- Line --> |
| 14 | <polygon points=" 900,3300 900,9900 8100,9900 8100,3300" fill="#bbf2e2" |
| 15 | stroke="#a7ceb3" stroke-width="45px"/> |
| 16 | <!-- Line --> |
| 17 | <polygon points=" 8700,3300 8700,9900 15900,9900 15900,3300" fill="#bbf2e2" |
| 18 | stroke="#a7ceb3" stroke-width="45px"/> |
| 19 | <!-- Line --> |
| 20 | <rect x="3600" y="10800" width="1800" height="600" rx="105" fill="#458dba" |
| 21 | stroke="#000000" stroke-width="30px" stroke-linejoin="round"/> |
| 22 | <!-- Line --> |
| 23 | <rect x="1575" y="12300" width="525" height="300" rx="105" fill="#458dba" |
| 24 | stroke="#000000" stroke-width="30px" stroke-linejoin="round"/> |
| 25 | <!-- Line --> |
| 26 | <rect x="6375" y="12300" width="525" height="300" rx="105" fill="#bbf2e2" |
| 27 | stroke="#a7ceb3" stroke-width="30px" stroke-linejoin="round"/> |
| 28 | <!-- Line --> |
| 29 | <polygon points=" 4761,9751 4761,8751 4261,8751 4261,9751" fill="#dae8fc"/> |
| 30 | <!-- Line --> |
| 31 | <polygon points=" 1986,4576 1986,3576 1486,3576 1486,4576" fill="#dae8fc"/> |
| 32 | <!-- Line --> |
| 33 | <polygon points=" 3786,4576 3786,3576 3286,3576 3286,4576" fill="#dae8fc"/> |
| 34 | <!-- Line --> |
| 35 | <polygon points=" 5586,4576 5586,3576 5086,3576 5086,4576" fill="#dae8fc"/> |
| 36 | <!-- Line --> |
| 37 | <polygon points=" 7461,4576 7461,3576 6961,3576 6961,4576" fill="#dae8fc"/> |
| 38 | <!-- Text --> |
| 39 | <text xml:space="preserve" x="12900" y="11175" fill="#000000" font-family="AvantGarde" font-style="normal" font-weight="normal" font-size="216" text-anchor="middle">Transport</text> |
| 40 | <!-- Line --> |
| 41 | <polygon points=" 6692,1761 9959,1761 9959,1261 6692,1261" fill="#dae8fc"/> |
| 42 | <!-- Line --> |
| 43 | <polygon points=" 12425,8661 12825,8661 12825,8161 12425,8161" fill="#dae8fc"/> |
| 44 | <!-- Line --> |
| 45 | <polygon points=" 11750,8661 12150,8661 12150,8161 11750,8161" fill="#dae8fc"/> |
| 46 | <!-- Line --> |
| 47 | <polygon points=" 11075,8661 11475,8661 11475,8161 11075,8161" fill="#dae8fc"/> |
| 48 | <!-- Line --> |
| 49 | <polygon points=" 10400,8661 10800,8661 10800,8161 10400,8161" fill="#dae8fc"/> |
| 50 | <!-- Line --> |
| 51 | <polygon points=" 13100,8661 13500,8661 13500,8161 13100,8161" fill="#dae8fc"/> |
| 52 | <!-- Line --> |
| 53 | <polygon points=" 13775,8661 14175,8661 14175,8161 13775,8161" fill="#dae8fc"/> |
| 54 | <!-- Ellipse --> |
| 55 | <ellipse cx="11400" cy="11925" rx="225" ry="150" fill="#ffc1e7" |
| 56 | stroke="#d10000" stroke-width="45px"/> |
| 57 | <!-- Text --> |
| 58 | <text xml:space="preserve" x="11850" y="12000" fill="#000000" font-family="AvantGarde" font-style="normal" font-weight="normal" font-size="144" text-anchor="start">I/O tasklet</text> |
| 59 | <!-- Line --> |
| 60 | <polygon points=" 11157,12581 11614,12581 11614,12331 11157,12331" fill="#dae8fc"/> |
| 61 | <!-- Circle --> |
| 62 | <circle cx="10725" cy="5700" r="75" fill="#000000" |
| 63 | stroke="#000000" stroke-width="30px"/> |
| 64 | <!-- Circle --> |
| 65 | <circle cx="12750" cy="5700" r="75" fill="#000000" |
| 66 | stroke="#000000" stroke-width="30px"/> |
| 67 | <!-- Circle --> |
| 68 | <circle cx="13875" cy="5700" r="75" fill="#000000" |
| 69 | stroke="#000000" stroke-width="30px"/> |
| 70 | <!-- Circle --> |
| 71 | <circle cx="11700" cy="5700" r="75" fill="#000000" |
| 72 | stroke="#000000" stroke-width="30px"/> |
| 73 | <!-- Circle --> |
| 74 | <circle cx="2925" cy="6750" r="75" fill="#000000" |
| 75 | stroke="#000000" stroke-width="30px"/> |
| 76 | <!-- Circle --> |
| 77 | <circle cx="4950" cy="6750" r="75" fill="#000000" |
| 78 | stroke="#000000" stroke-width="30px"/> |
| 79 | <!-- Circle --> |
| 80 | <circle cx="6075" cy="6750" r="75" fill="#000000" |
| 81 | stroke="#000000" stroke-width="30px"/> |
| 82 | <!-- Circle --> |
| 83 | <circle cx="3900" cy="6750" r="75" fill="#000000" |
| 84 | stroke="#000000" stroke-width="30px"/> |
| 85 | <!-- Ellipse --> |
| 86 | <ellipse cx="9525" cy="4140" rx="583" ry="250" fill="#ffe6cc" |
| 87 | stroke="#e9b000" stroke-width="45px"/> |
| 88 | <!-- Ellipse --> |
| 89 | <ellipse cx="11341" cy="4140" rx="583" ry="250" fill="#ffe6cc" |
| 90 | stroke="#e9b000" stroke-width="45px"/> |
| 91 | <!-- Ellipse --> |
| 92 | <ellipse cx="13154" cy="4140" rx="583" ry="250" fill="#ffe6cc" |
| 93 | stroke="#e9b000" stroke-width="45px"/> |
| 94 | <!-- Ellipse --> |
| 95 | <ellipse cx="15033" cy="4140" rx="583" ry="250" fill="#ffe6cc" |
| 96 | stroke="#e9b000" stroke-width="45px"/> |
| 97 | <!-- Ellipse --> |
| 98 | <ellipse cx="7182" cy="5173" rx="583" ry="250" fill="#ffe6cc" |
| 99 | stroke="#e9b000" stroke-width="45px"/> |
| 100 | <!-- Ellipse --> |
| 101 | <ellipse cx="3507" cy="5173" rx="583" ry="250" fill="#ffe6cc" |
| 102 | stroke="#e9b000" stroke-width="45px"/> |
| 103 | <!-- Ellipse --> |
| 104 | <ellipse cx="1719" cy="5173" rx="583" ry="250" fill="#ffe6cc" |
| 105 | stroke="#e9b000" stroke-width="45px"/> |
| 106 | <!-- Ellipse --> |
| 107 | <ellipse cx="5325" cy="5175" rx="583" ry="250" fill="#ffe6cc" |
| 108 | stroke="#e9b000" stroke-width="45px"/> |
| 109 | <!-- Ellipse --> |
| 110 | <ellipse cx="8400" cy="600" rx="900" ry="210" fill="#ffc1e7" |
| 111 | stroke="#d10000" stroke-width="45px"/> |
| 112 | <!-- Ellipse --> |
| 113 | <ellipse cx="12333" cy="7025" rx="417" ry="250" fill="#87cfff" |
| 114 | stroke="#0000d1" stroke-width="45px"/> |
| 115 | <!-- Ellipse --> |
| 116 | <ellipse cx="12392" cy="9240" rx="808" ry="210" fill="#ffc1e7" |
| 117 | stroke="#d10000" stroke-width="45px"/> |
| 118 | <!-- Ellipse --> |
| 119 | <ellipse cx="3167" cy="9240" rx="808" ry="210" fill="#ffc1e7" |
| 120 | stroke="#d10000" stroke-width="45px"/> |
| 121 | <!-- Ellipse --> |
| 122 | <ellipse cx="1800" cy="11925" rx="225" ry="150" fill="#ffe6cc" |
| 123 | stroke="#e9b000" stroke-width="45px"/> |
| 124 | <!-- Line --> |
| 125 | <polyline points=" 2550,3300 2550,6150" |
| 126 | stroke="#000000" stroke-width="8px" stroke-linejoin="round" stroke-dasharray="40 40"/> |
| 127 | <!-- Line --> |
| 128 | <polyline points=" 4500,3300 4500,6150" |
| 129 | stroke="#000000" stroke-width="8px" stroke-linejoin="round" stroke-dasharray="40 40"/> |
| 130 | <!-- Line --> |
| 131 | <polyline points=" 6300,3300 6300,6150" |
| 132 | stroke="#000000" stroke-width="8px" stroke-linejoin="round" stroke-dasharray="40 40"/> |
| 133 | <!-- Line --> |
| 134 | <defs> |
| 135 | <clipPath id="cp0"> |
| 136 | <path clip-rule="evenodd" d="M 254,-90 H 16139 V 12633 H 254 z |
| 137 | M 645,11504 555,11504 582,11718 618,11718z"/> |
| 138 | </clipPath> |
| 139 | </defs> |
| 140 | <polyline points=" 600,8025 600,11700" clip-path="url(#cp0)" |
| 141 | stroke="#000000" stroke-width="30px" stroke-linejoin="round"/> |
| 142 | <!-- Forward arrow to point 600,11700 --> |
| 143 | <polygon points=" 555,11504 600,11684 645,11504 555,11504" |
| 144 | stroke="#000000" stroke-width="8px" stroke-miterlimit="8" fill="#000000"/> |
| 145 | <!-- Line --> |
| 146 | <defs> |
| 147 | <clipPath id="cp1"> |
| 148 | <path clip-rule="evenodd" d="M 254,-90 H 16139 V 12633 H 254 z |
| 149 | M 555,1996 645,1996 618,1782 582,1782z"/> |
| 150 | </clipPath> |
| 151 | </defs> |
| 152 | <polyline points=" 600,3150 600,1800" clip-path="url(#cp1)" |
| 153 | stroke="#000000" stroke-width="30px" stroke-linejoin="round"/> |
| 154 | <!-- Forward arrow to point 600,1800 --> |
| 155 | <polygon points=" 645,1996 600,1816 555,1996 645,1996" |
| 156 | stroke="#000000" stroke-width="8px" stroke-miterlimit="8" fill="#000000"/> |
| 157 | <!-- Line --> |
| 158 | <defs> |
| 159 | <clipPath id="cp2"> |
| 160 | <path clip-rule="evenodd" d="M 254,-90 H 16139 V 12633 H 254 z |
| 161 | M 555,346 645,346 618,132 582,132z"/> |
| 162 | </clipPath> |
| 163 | </defs> |
| 164 | <polyline points=" 600,1500 600,150" clip-path="url(#cp2)" |
| 165 | stroke="#000000" stroke-width="30px" stroke-linejoin="round"/> |
| 166 | <!-- Forward arrow to point 600,150 --> |
| 167 | <polygon points=" 645,346 600,166 555,346 645,346" |
| 168 | stroke="#000000" stroke-width="8px" stroke-miterlimit="8" fill="#000000"/> |
| 169 | <!-- Line --> |
| 170 | <defs> |
| 171 | <clipPath id="cp3"> |
| 172 | <path clip-rule="evenodd" d="M 254,-90 H 16139 V 12633 H 254 z |
| 173 | M 7304,555 7304,645 7518,618 7518,582z |
| 174 | M 3045,3104 2955,3104 2982,3318 3018,3318z"/> |
| 175 | </clipPath> |
| 176 | </defs> |
| 177 | <polyline points=" 3000,3300 3000,1425 3675,600 7500,600" clip-path="url(#cp3)" |
| 178 | stroke="#000000" stroke-width="30px" stroke-linejoin="round"/> |
| 179 | <!-- Forward arrow to point 7500,600 --> |
| 180 | <polygon points=" 7304,645 7484,600 7304,555 7304,645" |
| 181 | stroke="#000000" stroke-width="8px" stroke-miterlimit="8" fill="#000000"/> |
| 182 | <!-- Backward arrow to point 3000,3300 --> |
| 183 | <polygon points=" 2955,3104 3000,3284 3045,3104 2955,3104" |
| 184 | stroke="#000000" stroke-width="8px" stroke-miterlimit="8" fill="#000000"/> |
| 185 | <!-- Line --> |
| 186 | <defs> |
| 187 | <clipPath id="cp4"> |
| 188 | <path clip-rule="evenodd" d="M 254,-90 H 16139 V 12633 H 254 z |
| 189 | M 6554,1455 6554,1545 6768,1518 6768,1482z |
| 190 | M 3045,3104 2955,3104 2982,3318 3018,3318z"/> |
| 191 | </clipPath> |
| 192 | </defs> |
| 193 | <polyline points=" 3525,3525 3525,2625 4500,1500 6750,1500" clip-path="url(#cp4)" |
| 194 | stroke="#000000" stroke-width="30px" stroke-linejoin="round"/> |
| 195 | <!-- Forward arrow to point 6750,1500 --> |
| 196 | <polygon points=" 6554,1545 6734,1500 6554,1455 6554,1545" |
| 197 | stroke="#000000" stroke-width="8px" stroke-miterlimit="8" fill="#000000"/> |
| 198 | <!-- Line --> |
| 199 | <defs> |
| 200 | <clipPath id="cp5"> |
| 201 | <path clip-rule="evenodd" d="M 254,-90 H 16139 V 12633 H 254 z |
| 202 | M 11661,5428 11578,5465 11691,5649 11724,5634z |
| 203 | M 3045,3104 2955,3104 2982,3318 3018,3318z"/> |
| 204 | </clipPath> |
| 205 | </defs> |
| 206 | <polyline points=" 11295,4425 11295,4725 11700,5625" clip-path="url(#cp5)" |
| 207 | stroke="#000000" stroke-width="30px" stroke-linejoin="round"/> |
| 208 | <!-- Forward arrow to point 11700,5625 --> |
| 209 | <polygon points=" 11578,5465 11693,5610 11661,5428 11578,5465" |
| 210 | stroke="#000000" stroke-width="8px" stroke-miterlimit="8" fill="#000000"/> |
| 211 | <!-- Line --> |
| 212 | <defs> |
| 213 | <clipPath id="cp6"> |
| 214 | <path clip-rule="evenodd" d="M 254,-90 H 16139 V 12633 H 254 z |
| 215 | M 10571,5541 10514,5611 10698,5725 10720,5697z |
| 216 | M 3045,3104 2955,3104 2982,3318 3018,3318z"/> |
| 217 | </clipPath> |
| 218 | </defs> |
| 219 | <polyline points=" 9495,4425 9495,4725 10695,5700" clip-path="url(#cp6)" |
| 220 | stroke="#000000" stroke-width="30px" stroke-linejoin="round"/> |
| 221 | <!-- Forward arrow to point 10695,5700 --> |
| 222 | <polygon points=" 10514,5611 10682,5690 10571,5541 10514,5611" |
| 223 | stroke="#000000" stroke-width="8px" stroke-miterlimit="8" fill="#000000"/> |
| 224 | <!-- Line --> |
| 225 | <defs> |
| 226 | <clipPath id="cp7"> |
| 227 | <path clip-rule="evenodd" d="M 254,-90 H 16139 V 12633 H 254 z |
| 228 | M 12905,5461 12822,5427 12764,5635 12798,5649z |
| 229 | M 3045,3104 2955,3104 2982,3318 3018,3318z"/> |
| 230 | </clipPath> |
| 231 | </defs> |
| 232 | <polyline points=" 13163,4425 13163,4725 12788,5625" clip-path="url(#cp7)" |
| 233 | stroke="#000000" stroke-width="30px" stroke-linejoin="round"/> |
| 234 | <!-- Forward arrow to point 12788,5625 --> |
| 235 | <polygon points=" 12822,5427 12794,5610 12905,5461 12822,5427" |
| 236 | stroke="#000000" stroke-width="8px" stroke-miterlimit="8" fill="#000000"/> |
| 237 | <!-- Line --> |
| 238 | <defs> |
| 239 | <clipPath id="cp8"> |
| 240 | <path clip-rule="evenodd" d="M 254,-90 H 16139 V 12633 H 254 z |
| 241 | M 14066,5607 14007,5539 13863,5700 13886,5727z |
| 242 | M 3045,3104 2955,3104 2982,3318 3018,3318z"/> |
| 243 | </clipPath> |
| 244 | </defs> |
| 245 | <polyline points=" 15013,4427 15013,4725 13888,5702" clip-path="url(#cp8)" |
| 246 | stroke="#000000" stroke-width="30px" stroke-linejoin="round"/> |
| 247 | <!-- Forward arrow to point 13888,5702 --> |
| 248 | <polygon points=" 14007,5539 13900,5691 14066,5607 14007,5539" |
| 249 | stroke="#000000" stroke-width="8px" stroke-miterlimit="8" fill="#000000"/> |
| 250 | <!-- Line --> |
| 251 | <defs> |
| 252 | <clipPath id="cp9"> |
| 253 | <path clip-rule="evenodd" d="M 254,-90 H 16139 V 12633 H 254 z |
| 254 | M 9555,3689 9495,3689 9507,3843 9543,3843z |
| 255 | M 3045,3104 2955,3104 2982,3318 3018,3318z"/> |
| 256 | </clipPath> |
| 257 | </defs> |
| 258 | <polyline points=" 9525,3525 9525,3825" clip-path="url(#cp9)" |
| 259 | stroke="#000000" stroke-width="30px" stroke-linejoin="round"/> |
| 260 | <!-- Forward arrow to point 9525,3825 --> |
| 261 | <polygon points=" 9495,3689 9525,3809 9555,3689 9495,3689" |
| 262 | stroke="#000000" stroke-width="8px" stroke-miterlimit="8" fill="#000000"/> |
| 263 | <!-- Line --> |
| 264 | <defs> |
| 265 | <clipPath id="cp10"> |
| 266 | <path clip-rule="evenodd" d="M 254,-90 H 16139 V 12633 H 254 z |
| 267 | M 13155,3689 13095,3689 13107,3843 13143,3843z |
| 268 | M 3045,3104 2955,3104 2982,3318 3018,3318z"/> |
| 269 | </clipPath> |
| 270 | </defs> |
| 271 | <polyline points=" 13125,3525 13125,3825" clip-path="url(#cp10)" |
| 272 | stroke="#000000" stroke-width="30px" stroke-linejoin="round"/> |
| 273 | <!-- Forward arrow to point 13125,3825 --> |
| 274 | <polygon points=" 13095,3689 13125,3809 13155,3689 13095,3689" |
| 275 | stroke="#000000" stroke-width="8px" stroke-miterlimit="8" fill="#000000"/> |
| 276 | <!-- Line --> |
| 277 | <defs> |
| 278 | <clipPath id="cp11"> |
| 279 | <path clip-rule="evenodd" d="M 254,-90 H 16139 V 12633 H 254 z |
| 280 | M 15030,3689 14970,3689 14982,3843 15018,3843z |
| 281 | M 3045,3104 2955,3104 2982,3318 3018,3318z"/> |
| 282 | </clipPath> |
| 283 | </defs> |
| 284 | <polyline points=" 15000,3525 15000,3825" clip-path="url(#cp11)" |
| 285 | stroke="#000000" stroke-width="30px" stroke-linejoin="round"/> |
| 286 | <!-- Forward arrow to point 15000,3825 --> |
| 287 | <polygon points=" 14970,3689 15000,3809 15030,3689 14970,3689" |
| 288 | stroke="#000000" stroke-width="8px" stroke-miterlimit="8" fill="#000000"/> |
| 289 | <!-- Line --> |
| 290 | <defs> |
| 291 | <clipPath id="cp12"> |
| 292 | <path clip-rule="evenodd" d="M 254,-90 H 16139 V 12633 H 254 z |
| 293 | M 10229,8355 10229,8445 10443,8418 10443,8382z |
| 294 | M 3045,3104 2955,3104 2982,3318 3018,3318z"/> |
| 295 | </clipPath> |
| 296 | </defs> |
| 297 | <polyline points=" 12300,7275 12300,7725 9975,7725 9975,8400 10425,8400" clip-path="url(#cp12)" |
| 298 | stroke="#000000" stroke-width="30px" stroke-linejoin="round"/> |
| 299 | <!-- Forward arrow to point 10425,8400 --> |
| 300 | <polygon points=" 10229,8445 10409,8400 10229,8355 10229,8445" |
| 301 | stroke="#000000" stroke-width="8px" stroke-miterlimit="8" fill="#000000"/> |
| 302 | <!-- Line --> |
| 303 | <defs> |
| 304 | <clipPath id="cp13"> |
| 305 | <path clip-rule="evenodd" d="M 254,-90 H 16139 V 12633 H 254 z |
| 306 | M 12345,6629 12255,6629 12282,6843 12318,6843z |
| 307 | M 3045,3104 2955,3104 2982,3318 3018,3318z"/> |
| 308 | </clipPath> |
| 309 | </defs> |
| 310 | <polyline points=" 11775,5850 12300,6450 12300,6825" clip-path="url(#cp13)" |
| 311 | stroke="#000000" stroke-width="30px" stroke-linejoin="round"/> |
| 312 | <!-- Forward arrow to point 12300,6825 --> |
| 313 | <polygon points=" 12255,6629 12300,6809 12345,6629 12255,6629" |
| 314 | stroke="#000000" stroke-width="8px" stroke-miterlimit="8" fill="#000000"/> |
| 315 | <!-- Line --> |
| 316 | <polyline points=" 11475,6150 13200,6150 13200,6825" |
| 317 | stroke="#000000" stroke-width="30px" stroke-linejoin="round" stroke-dasharray="80 80"/> |
| 318 | <!-- Line --> |
| 319 | <defs> |
| 320 | <clipPath id="cp14"> |
| 321 | <path clip-rule="evenodd" d="M 254,-90 H 16139 V 12633 H 254 z |
| 322 | M 12345,6629 12255,6629 12282,6843 12318,6843z |
| 323 | M 4051,7087 4124,7035 3979,6875 3950,6896z"/> |
| 324 | </clipPath> |
| 325 | </defs> |
| 326 | <polyline points=" 3975,6900 4500,7650 4500,7875" clip-path="url(#cp14)" |
| 327 | stroke="#000000" stroke-width="30px" stroke-linejoin="round"/> |
| 328 | <!-- Backward arrow to point 3975,6900 --> |
| 329 | <polygon points=" 4124,7035 3984,6913 4051,7087 4124,7035" |
| 330 | stroke="#000000" stroke-width="8px" stroke-miterlimit="8" fill="#000000"/> |
| 331 | <!-- Line --> |
| 332 | <defs> |
| 333 | <clipPath id="cp15"> |
| 334 | <path clip-rule="evenodd" d="M 254,-90 H 16139 V 12633 H 254 z |
| 335 | M 12345,6629 12255,6629 12282,6843 12318,6843z |
| 336 | M 3450,5671 3540,5671 3513,5457 3477,5457z"/> |
| 337 | </clipPath> |
| 338 | </defs> |
| 339 | <polyline points=" 3495,5475 3495,5775 3900,6675" clip-path="url(#cp15)" |
| 340 | stroke="#000000" stroke-width="30px" stroke-linejoin="round"/> |
| 341 | <!-- Backward arrow to point 3495,5475 --> |
| 342 | <polygon points=" 3540,5671 3495,5491 3450,5671 3540,5671" |
| 343 | stroke="#000000" stroke-width="8px" stroke-miterlimit="8" fill="#000000"/> |
| 344 | <!-- Line --> |
| 345 | <defs> |
| 346 | <clipPath id="cp16"> |
| 347 | <path clip-rule="evenodd" d="M 254,-90 H 16139 V 12633 H 254 z |
| 348 | M 12345,6629 12255,6629 12282,6843 12318,6843z |
| 349 | M 1650,5671 1740,5671 1713,5457 1677,5457z"/> |
| 350 | </clipPath> |
| 351 | </defs> |
| 352 | <polyline points=" 1695,5475 1695,5775 2895,6750" clip-path="url(#cp16)" |
| 353 | stroke="#000000" stroke-width="30px" stroke-linejoin="round"/> |
| 354 | <!-- Backward arrow to point 1695,5475 --> |
| 355 | <polygon points=" 1740,5671 1695,5491 1650,5671 1740,5671" |
| 356 | stroke="#000000" stroke-width="8px" stroke-miterlimit="8" fill="#000000"/> |
| 357 | <!-- Line --> |
| 358 | <defs> |
| 359 | <clipPath id="cp17"> |
| 360 | <path clip-rule="evenodd" d="M 254,-90 H 16139 V 12633 H 254 z |
| 361 | M 12345,6629 12255,6629 12282,6843 12318,6843z |
| 362 | M 7168,5673 7258,5673 7231,5459 7195,5459z"/> |
| 363 | </clipPath> |
| 364 | </defs> |
| 365 | <polyline points=" 7213,5477 7213,5775 6088,6752" clip-path="url(#cp17)" |
| 366 | stroke="#000000" stroke-width="30px" stroke-linejoin="round"/> |
| 367 | <!-- Backward arrow to point 7213,5477 --> |
| 368 | <polygon points=" 7258,5673 7213,5493 7168,5673 7258,5673" |
| 369 | stroke="#000000" stroke-width="8px" stroke-miterlimit="8" fill="#000000"/> |
| 370 | <!-- Line --> |
| 371 | <defs> |
| 372 | <clipPath id="cp18"> |
| 373 | <path clip-rule="evenodd" d="M 254,-90 H 16139 V 12633 H 254 z |
| 374 | M 1695,4711 1755,4711 1743,4557 1707,4557z |
| 375 | M 7168,5673 7258,5673 7231,5459 7195,5459z"/> |
| 376 | </clipPath> |
| 377 | </defs> |
| 378 | <polyline points=" 1725,4875 1725,4575" clip-path="url(#cp18)" |
| 379 | stroke="#000000" stroke-width="30px" stroke-linejoin="round"/> |
| 380 | <!-- Forward arrow to point 1725,4575 --> |
| 381 | <polygon points=" 1755,4711 1725,4591 1695,4711 1755,4711" |
| 382 | stroke="#000000" stroke-width="8px" stroke-miterlimit="8" fill="#000000"/> |
| 383 | <!-- Line --> |
| 384 | <defs> |
| 385 | <clipPath id="cp19"> |
| 386 | <path clip-rule="evenodd" d="M 254,-90 H 16139 V 12633 H 254 z |
| 387 | M 3495,4711 3555,4711 3543,4557 3507,4557z |
| 388 | M 7168,5673 7258,5673 7231,5459 7195,5459z"/> |
| 389 | </clipPath> |
| 390 | </defs> |
| 391 | <polyline points=" 3525,4875 3525,4575" clip-path="url(#cp19)" |
| 392 | stroke="#000000" stroke-width="30px" stroke-linejoin="round"/> |
| 393 | <!-- Forward arrow to point 3525,4575 --> |
| 394 | <polygon points=" 3555,4711 3525,4591 3495,4711 3555,4711" |
| 395 | stroke="#000000" stroke-width="8px" stroke-miterlimit="8" fill="#000000"/> |
| 396 | <!-- Line --> |
| 397 | <defs> |
| 398 | <clipPath id="cp20"> |
| 399 | <path clip-rule="evenodd" d="M 254,-90 H 16139 V 12633 H 254 z |
| 400 | M 5295,4711 5355,4711 5343,4557 5307,4557z |
| 401 | M 7168,5673 7258,5673 7231,5459 7195,5459z"/> |
| 402 | </clipPath> |
| 403 | </defs> |
| 404 | <polyline points=" 5325,4875 5325,4575" clip-path="url(#cp20)" |
| 405 | stroke="#000000" stroke-width="30px" stroke-linejoin="round"/> |
| 406 | <!-- Forward arrow to point 5325,4575 --> |
| 407 | <polygon points=" 5355,4711 5325,4591 5295,4711 5355,4711" |
| 408 | stroke="#000000" stroke-width="8px" stroke-miterlimit="8" fill="#000000"/> |
| 409 | <!-- Line --> |
| 410 | <defs> |
| 411 | <clipPath id="cp21"> |
| 412 | <path clip-rule="evenodd" d="M 254,-90 H 16139 V 12633 H 254 z |
| 413 | M 7170,4711 7230,4711 7218,4557 7182,4557z |
| 414 | M 7168,5673 7258,5673 7231,5459 7195,5459z"/> |
| 415 | </clipPath> |
| 416 | </defs> |
| 417 | <polyline points=" 7200,4875 7200,4575" clip-path="url(#cp21)" |
| 418 | stroke="#000000" stroke-width="30px" stroke-linejoin="round"/> |
| 419 | <!-- Forward arrow to point 7200,4575 --> |
| 420 | <polygon points=" 7230,4711 7200,4591 7170,4711 7230,4711" |
| 421 | stroke="#000000" stroke-width="8px" stroke-miterlimit="8" fill="#000000"/> |
| 422 | <!-- Line --> |
| 423 | <defs> |
| 424 | <clipPath id="cp22"> |
| 425 | <path clip-rule="evenodd" d="M 254,-90 H 16139 V 12633 H 254 z |
| 426 | M 7170,4711 7230,4711 7218,4557 7182,4557z |
| 427 | M 4455,8521 4545,8521 4518,8307 4482,8307z"/> |
| 428 | </clipPath> |
| 429 | </defs> |
| 430 | <polyline points=" 4500,8325 4500,8721" clip-path="url(#cp22)" |
| 431 | stroke="#000000" stroke-width="30px" stroke-linejoin="round"/> |
| 432 | <!-- Backward arrow to point 4500,8325 --> |
| 433 | <polygon points=" 4545,8521 4500,8341 4455,8521 4545,8521" |
| 434 | stroke="#000000" stroke-width="8px" stroke-miterlimit="8" fill="#000000"/> |
| 435 | <!-- Line --> |
| 436 | <polyline points=" 3225,7875 3225,7350 4725,7350" |
| 437 | stroke="#000000" stroke-width="30px" stroke-linejoin="round" stroke-dasharray="80 80"/> |
| 438 | <!-- Line --> |
| 439 | <defs> |
| 440 | <clipPath id="cp23"> |
| 441 | <path clip-rule="evenodd" d="M 254,-90 H 16139 V 12633 H 254 z |
| 442 | M 3272,9646 3353,9605 3233,9426 3201,9442z |
| 443 | M 3853,10604 3772,10645 3892,10824 3924,10808z"/> |
| 444 | </clipPath> |
| 445 | </defs> |
| 446 | <polyline points=" 3900,10800 3225,9450" clip-path="url(#cp23)" |
| 447 | stroke="#000000" stroke-width="30px" stroke-linejoin="round"/> |
| 448 | <!-- Forward arrow to point 3225,9450 --> |
| 449 | <polygon points=" 3353,9605 3232,9464 3272,9646 3353,9605" |
| 450 | stroke="#000000" stroke-width="8px" stroke-miterlimit="8" fill="#000000"/> |
| 451 | <!-- Backward arrow to point 3900,10800 --> |
| 452 | <polygon points=" 3772,10645 3893,10786 3853,10604 3772,10645" |
| 453 | stroke="#000000" stroke-width="8px" stroke-miterlimit="8" fill="#000000"/> |
| 454 | <!-- Line --> |
| 455 | <defs> |
| 456 | <clipPath id="cp24"> |
| 457 | <path clip-rule="evenodd" d="M 254,-90 H 16139 V 12633 H 254 z |
| 458 | M 4455,9946 4545,9946 4518,9732 4482,9732z |
| 459 | M 3853,10604 3772,10645 3892,10824 3924,10808z"/> |
| 460 | </clipPath> |
| 461 | </defs> |
| 462 | <polyline points=" 4500,10800 4500,9750" clip-path="url(#cp24)" |
| 463 | stroke="#000000" stroke-width="30px" stroke-linejoin="round"/> |
| 464 | <!-- Forward arrow to point 4500,9750 --> |
| 465 | <polygon points=" 4545,9946 4500,9766 4455,9946 4545,9946" |
| 466 | stroke="#000000" stroke-width="8px" stroke-miterlimit="8" fill="#000000"/> |
| 467 | <!-- Line --> |
| 468 | <defs> |
| 469 | <clipPath id="cp25"> |
| 470 | <path clip-rule="evenodd" d="M 254,-90 H 16139 V 12633 H 254 z |
| 471 | M 12330,9646 12420,9646 12393,9432 12357,9432z |
| 472 | M 12420,10604 12330,10604 12357,10818 12393,10818z"/> |
| 473 | </clipPath> |
| 474 | </defs> |
| 475 | <polyline points=" 12375,10800 12375,9750 12375,9450" clip-path="url(#cp25)" |
| 476 | stroke="#000000" stroke-width="30px" stroke-linejoin="round"/> |
| 477 | <!-- Forward arrow to point 12375,9450 --> |
| 478 | <polygon points=" 12420,9646 12375,9466 12330,9646 12420,9646" |
| 479 | stroke="#000000" stroke-width="8px" stroke-miterlimit="8" fill="#000000"/> |
| 480 | <!-- Backward arrow to point 12375,10800 --> |
| 481 | <polygon points=" 12330,10604 12375,10784 12420,10604 12330,10604" |
| 482 | stroke="#000000" stroke-width="8px" stroke-miterlimit="8" fill="#000000"/> |
| 483 | <!-- Line --> |
| 484 | <polyline points=" 12225,3300 12225,5025" |
| 485 | stroke="#000000" stroke-width="8px" stroke-linejoin="round" stroke-dasharray="40 40"/> |
| 486 | <!-- Line --> |
| 487 | <polyline points=" 10425,3300 10425,5025" |
| 488 | stroke="#000000" stroke-width="8px" stroke-linejoin="round" stroke-dasharray="40 40"/> |
| 489 | <!-- Line --> |
| 490 | <polyline points=" 14025,3300 14025,5025" |
| 491 | stroke="#000000" stroke-width="8px" stroke-linejoin="round" stroke-dasharray="40 40"/> |
| 492 | <!-- Line --> |
| 493 | <defs> |
| 494 | <clipPath id="cp26"> |
| 495 | <path clip-rule="evenodd" d="M 254,-90 H 16139 V 12633 H 254 z |
| 496 | M 11370,3629 11280,3629 11307,3843 11343,3843z |
| 497 | M 12420,10604 12330,10604 12357,10818 12393,10818z"/> |
| 498 | </clipPath> |
| 499 | </defs> |
| 500 | <polyline points=" 9975,1500 10800,1500 11325,2100 11325,3825" clip-path="url(#cp26)" |
| 501 | stroke="#000000" stroke-width="30px" stroke-linejoin="round"/> |
| 502 | <!-- Forward arrow to point 11325,3825 --> |
| 503 | <polygon points=" 11280,3629 11325,3809 11370,3629 11280,3629" |
| 504 | stroke="#000000" stroke-width="8px" stroke-miterlimit="8" fill="#000000"/> |
| 505 | <!-- Line --> |
| 506 | <defs> |
| 507 | <clipPath id="cp27"> |
| 508 | <path clip-rule="evenodd" d="M 254,-90 H 16139 V 12633 H 254 z |
| 509 | M 11820,3104 11730,3104 11757,3318 11793,3318z |
| 510 | M 9496,645 9496,555 9282,582 9282,618z"/> |
| 511 | </clipPath> |
| 512 | </defs> |
| 513 | <polyline points=" 9300,600 11175,600 11775,1275 11775,3300" clip-path="url(#cp27)" |
| 514 | stroke="#000000" stroke-width="30px" stroke-linejoin="round"/> |
| 515 | <!-- Forward arrow to point 11775,3300 --> |
| 516 | <polygon points=" 11730,3104 11775,3284 11820,3104 11730,3104" |
| 517 | stroke="#000000" stroke-width="8px" stroke-miterlimit="8" fill="#000000"/> |
| 518 | <!-- Backward arrow to point 9300,600 --> |
| 519 | <polygon points=" 9496,555 9316,600 9496,645 9496,555" |
| 520 | stroke="#000000" stroke-width="8px" stroke-miterlimit="8" fill="#000000"/> |
| 521 | <!-- Line --> |
| 522 | <defs> |
| 523 | <clipPath id="cp28"> |
| 524 | <path clip-rule="evenodd" d="M 254,-90 H 16139 V 12633 H 254 z |
| 525 | M 11820,3104 11730,3104 11757,3318 11793,3318z |
| 526 | M 13245,10604 13155,10604 13182,10818 13218,10818z"/> |
| 527 | </clipPath> |
| 528 | </defs> |
| 529 | <polyline points=" 13200,10800 13200,10200 14625,9750 14625,8400 14175,8400" clip-path="url(#cp28)" |
| 530 | stroke="#000000" stroke-width="30px" stroke-linejoin="round"/> |
| 531 | <!-- Backward arrow to point 13200,10800 --> |
| 532 | <polygon points=" 13155,10604 13200,10784 13245,10604 13155,10604" |
| 533 | stroke="#000000" stroke-width="8px" stroke-miterlimit="8" fill="#000000"/> |
| 534 | <!-- Line --> |
| 535 | <defs> |
| 536 | <clipPath id="cp29"> |
| 537 | <path clip-rule="evenodd" d="M 254,-90 H 16139 V 12633 H 254 z |
| 538 | M 11820,3104 11730,3104 11757,3318 11793,3318z |
| 539 | M 5280,5671 5370,5671 5343,5457 5307,5457z"/> |
| 540 | </clipPath> |
| 541 | </defs> |
| 542 | <polyline points=" 5325,5475 5325,5775 4950,6675" clip-path="url(#cp29)" |
| 543 | stroke="#000000" stroke-width="30px" stroke-linejoin="round"/> |
| 544 | <!-- Backward arrow to point 5325,5475 --> |
| 545 | <polygon points=" 5370,5671 5325,5491 5280,5671 5370,5671" |
| 546 | stroke="#000000" stroke-width="8px" stroke-miterlimit="8" fill="#000000"/> |
| 547 | <!-- Line --> |
| 548 | <defs> |
| 549 | <clipPath id="cp30"> |
| 550 | <path clip-rule="evenodd" d="M 254,-90 H 16139 V 12633 H 254 z |
| 551 | M 555,3496 645,3496 618,3282 582,3282z |
| 552 | M 5280,5671 5370,5671 5343,5457 5307,5457z"/> |
| 553 | </clipPath> |
| 554 | </defs> |
| 555 | <polyline points=" 600,5400 600,3300" clip-path="url(#cp30)" |
| 556 | stroke="#000000" stroke-width="30px" stroke-linejoin="round"/> |
| 557 | <!-- Forward arrow to point 600,3300 --> |
| 558 | <polygon points=" 645,3496 600,3316 555,3496 645,3496" |
| 559 | stroke="#000000" stroke-width="8px" stroke-miterlimit="8" fill="#000000"/> |
| 560 | <!-- Line --> |
| 561 | <polyline points=" 600,7800 600,5700" |
| 562 | stroke="#000000" stroke-width="30px" stroke-linejoin="round"/> |
| 563 | <!-- Line --> |
| 564 | <defs> |
| 565 | <clipPath id="cp31"> |
| 566 | <path clip-rule="evenodd" d="M 254,-90 H 16139 V 12633 H 254 z |
| 567 | M 12314,8370 12314,8430 12468,8418 12468,8382z |
| 568 | M 5280,5671 5370,5671 5343,5457 5307,5457z"/> |
| 569 | </clipPath> |
| 570 | </defs> |
| 571 | <polyline points=" 12150,8400 12450,8400" clip-path="url(#cp31)" |
| 572 | stroke="#000000" stroke-width="30px" stroke-linejoin="round"/> |
| 573 | <!-- Forward arrow to point 12450,8400 --> |
| 574 | <polygon points=" 12314,8430 12434,8400 12314,8370 12314,8430" |
| 575 | stroke="#000000" stroke-width="8px" stroke-miterlimit="8" fill="#000000"/> |
| 576 | <!-- Line --> |
| 577 | <defs> |
| 578 | <clipPath id="cp32"> |
| 579 | <path clip-rule="evenodd" d="M 254,-90 H 16139 V 12633 H 254 z |
| 580 | M 11639,8370 11639,8430 11793,8418 11793,8382z |
| 581 | M 5280,5671 5370,5671 5343,5457 5307,5457z"/> |
| 582 | </clipPath> |
| 583 | </defs> |
| 584 | <polyline points=" 11475,8400 11775,8400" clip-path="url(#cp32)" |
| 585 | stroke="#000000" stroke-width="30px" stroke-linejoin="round"/> |
| 586 | <!-- Forward arrow to point 11775,8400 --> |
| 587 | <polygon points=" 11639,8430 11759,8400 11639,8370 11639,8430" |
| 588 | stroke="#000000" stroke-width="8px" stroke-miterlimit="8" fill="#000000"/> |
| 589 | <!-- Line --> |
| 590 | <defs> |
| 591 | <clipPath id="cp33"> |
| 592 | <path clip-rule="evenodd" d="M 254,-90 H 16139 V 12633 H 254 z |
| 593 | M 10964,8370 10964,8430 11118,8418 11118,8382z |
| 594 | M 5280,5671 5370,5671 5343,5457 5307,5457z"/> |
| 595 | </clipPath> |
| 596 | </defs> |
| 597 | <polyline points=" 10800,8400 11100,8400" clip-path="url(#cp33)" |
| 598 | stroke="#000000" stroke-width="30px" stroke-linejoin="round"/> |
| 599 | <!-- Forward arrow to point 11100,8400 --> |
| 600 | <polygon points=" 10964,8430 11084,8400 10964,8370 10964,8430" |
| 601 | stroke="#000000" stroke-width="8px" stroke-miterlimit="8" fill="#000000"/> |
| 602 | <!-- Line --> |
| 603 | <defs> |
| 604 | <clipPath id="cp34"> |
| 605 | <path clip-rule="evenodd" d="M 254,-90 H 16139 V 12633 H 254 z |
| 606 | M 12989,8370 12989,8430 13143,8418 13143,8382z |
| 607 | M 5280,5671 5370,5671 5343,5457 5307,5457z"/> |
| 608 | </clipPath> |
| 609 | </defs> |
| 610 | <polyline points=" 12825,8400 13125,8400" clip-path="url(#cp34)" |
| 611 | stroke="#000000" stroke-width="30px" stroke-linejoin="round"/> |
| 612 | <!-- Forward arrow to point 13125,8400 --> |
| 613 | <polygon points=" 12989,8430 13109,8400 12989,8370 12989,8430" |
| 614 | stroke="#000000" stroke-width="8px" stroke-miterlimit="8" fill="#000000"/> |
| 615 | <!-- Line --> |
| 616 | <defs> |
| 617 | <clipPath id="cp35"> |
| 618 | <path clip-rule="evenodd" d="M 254,-90 H 16139 V 12633 H 254 z |
| 619 | M 13664,8370 13664,8430 13818,8418 13818,8382z |
| 620 | M 5280,5671 5370,5671 5343,5457 5307,5457z"/> |
| 621 | </clipPath> |
| 622 | </defs> |
| 623 | <polyline points=" 13500,8400 13800,8400" clip-path="url(#cp35)" |
| 624 | stroke="#000000" stroke-width="30px" stroke-linejoin="round"/> |
| 625 | <!-- Forward arrow to point 13800,8400 --> |
| 626 | <polygon points=" 13664,8430 13784,8400 13664,8370 13664,8430" |
| 627 | stroke="#000000" stroke-width="8px" stroke-miterlimit="8" fill="#000000"/> |
| 628 | <!-- Text --> |
| 629 | <g transform="translate(450,825) rotate(-90)" > |
| 630 | <text xml:space="preserve" x="0" y="0" fill="#000000" font-family="AvantGarde" font-style="normal" font-weight="normal" font-size="168" text-anchor="middle">application</text> |
| 631 | </g><!-- Text --> |
| 632 | <g transform="translate(450,9450) rotate(-90)" > |
| 633 | <text xml:space="preserve" x="0" y="0" fill="#000000" font-family="AvantGarde" font-style="normal" font-weight="normal" font-size="168" text-anchor="middle">connection = cs->conn</text> |
| 634 | </g><!-- Text --> |
| 635 | <g transform="translate(2850,3225) rotate(-90)" > |
| 636 | <text xml:space="preserve" x="0" y="0" fill="#000000" font-family="AvantGarde" font-style="normal" font-weight="normal" font-size="144" text-anchor="start">mux->subscribe(SUB_RECV)</text> |
| 637 | </g><!-- Text --> |
| 638 | <g transform="translate(900,825) rotate(-90)" > |
| 639 | <text xml:space="preserve" x="0" y="0" fill="#000000" font-family="AvantGarde" font-style="normal" font-weight="normal" font-size="144" text-anchor="middle">(eg: checks,</text> |
| 640 | </g><!-- Text --> |
| 641 | <g transform="translate(1125,750) rotate(-90)" > |
| 642 | <text xml:space="preserve" x="0" y="0" fill="#000000" font-family="AvantGarde" font-style="normal" font-weight="normal" font-size="144" text-anchor="middle">stream-int)</text> |
| 643 | </g><!-- Text --> |
| 644 | <text xml:space="preserve" x="12300" y="7125" fill="#000000" font-family="AvantGarde" font-style="normal" font-weight="normal" font-size="192" text-anchor="middle">MUX</text> |
| 645 | <!-- Text --> |
| 646 | <text xml:space="preserve" x="3600" y="8100" fill="#000000" font-family="AvantGarde" font-style="normal" font-weight="normal" font-size="144" text-anchor="end">Stream ID</text> |
| 647 | <!-- Text --> |
| 648 | <text xml:space="preserve" x="12825" y="7125" fill="#000000" font-family="AvantGarde" font-style="normal" font-weight="normal" font-size="144" text-anchor="start">Stream ID</text> |
| 649 | <!-- Text --> |
| 650 | <text xml:space="preserve" x="3300" y="10125" fill="#000000" font-family="AvantGarde" font-style="normal" font-weight="normal" font-size="144" text-anchor="end">tasklet_wakeup()</text> |
| 651 | <!-- Text --> |
| 652 | <text xml:space="preserve" x="12150" y="10125" fill="#000000" font-family="AvantGarde" font-style="normal" font-weight="normal" font-size="144" text-anchor="end">tasklet_wakeup()</text> |
| 653 | <!-- Text --> |
| 654 | <text xml:space="preserve" x="11175" y="3150" fill="#000000" font-family="AvantGarde" font-style="normal" font-weight="normal" font-size="144" text-anchor="end">mux->snd_buf()</text> |
| 655 | <!-- Text --> |
| 656 | <text xml:space="preserve" x="3675" y="3225" fill="#000000" font-family="AvantGarde" font-style="normal" font-weight="normal" font-size="144" text-anchor="start">mux->rcv_buf()</text> |
| 657 | <!-- Text --> |
| 658 | <text xml:space="preserve" x="13425" y="10575" fill="#000000" font-family="AvantGarde" font-style="normal" font-weight="normal" font-size="144" text-anchor="start">xprt->snd_buf(mbuf)</text> |
| 659 | <!-- Text --> |
| 660 | <text xml:space="preserve" x="4725" y="10500" fill="#000000" font-family="AvantGarde" font-style="normal" font-weight="normal" font-size="144" text-anchor="start">xprt->rcv_buf(dbuf)</text> |
| 661 | <!-- Text --> |
| 662 | <text xml:space="preserve" x="8400" y="2100" fill="#000000" font-family="AvantGarde" font-style="normal" font-weight="normal" font-size="144" text-anchor="middle">HTX contents when mode==HTTP</text> |
| 663 | <!-- Text --> |
| 664 | <text xml:space="preserve" x="13125" y="675" fill="#000000" font-family="AvantGarde" font-style="normal" font-weight="normal" font-size="144" text-anchor="start">snd_buf() will move the</text> |
| 665 | <!-- Text --> |
| 666 | <text xml:space="preserve" x="13125" y="975" fill="#000000" font-family="AvantGarde" font-style="normal" font-weight="normal" font-size="144" text-anchor="start">buffer (zero-copy) when</text> |
| 667 | <!-- Text --> |
| 668 | <text xml:space="preserve" x="13125" y="1275" fill="#000000" font-family="AvantGarde" font-style="normal" font-weight="normal" font-size="144" text-anchor="start">the destination is empty.</text> |
| 669 | <!-- Text --> |
| 670 | <text xml:space="preserve" x="7500" y="450" fill="#000000" font-family="AvantGarde" font-style="normal" font-weight="normal" font-size="144" text-anchor="end">tasklet_wakeup()</text> |
| 671 | <!-- Text --> |
| 672 | <text xml:space="preserve" x="9300" y="450" fill="#000000" font-family="AvantGarde" font-style="normal" font-weight="normal" font-size="144" text-anchor="start">tasklet_wakeup()</text> |
| 673 | <!-- Text --> |
| 674 | <g transform="translate(12075,3225) rotate(-90)" > |
| 675 | <text xml:space="preserve" x="0" y="0" fill="#000000" font-family="AvantGarde" font-style="normal" font-weight="normal" font-size="144" text-anchor="start">mux->subscribe(SUB_SEND)</text> |
| 676 | </g><!-- Text --> |
| 677 | <g transform="translate(450,4500) rotate(-90)" > |
| 678 | <text xml:space="preserve" x="0" y="0" fill="#000000" font-family="AvantGarde" font-style="normal" font-weight="normal" font-size="168" text-anchor="middle">mux streams</text> |
| 679 | </g><!-- Text --> |
| 680 | <g transform="translate(450,6750) rotate(-90)" > |
| 681 | <text xml:space="preserve" x="0" y="0" fill="#000000" font-family="AvantGarde" font-style="normal" font-weight="normal" font-size="168" text-anchor="middle">mux=conn->mux</text> |
| 682 | </g><!-- Text --> |
| 683 | <g transform="translate(450,2550) rotate(-90)" > |
| 684 | <text xml:space="preserve" x="0" y="0" fill="#000000" font-family="AvantGarde" font-style="normal" font-weight="normal" font-size="168" text-anchor="middle">conn_stream</text> |
| 685 | </g><!-- Text --> |
| 686 | <text xml:space="preserve" x="12900" y="75" fill="#000000" font-family="AvantGarde" font-style="normal" font-weight="normal" font-size="144" text-anchor="start">Notes:</text> |
| 687 | <!-- Text --> |
| 688 | <text xml:space="preserve" x="12975" y="375" fill="#000000" font-family="AvantGarde" font-style="normal" font-weight="normal" font-size="144" text-anchor="start">- mux->rcv_buf() and</text> |
| 689 | <!-- Text --> |
| 690 | <text xml:space="preserve" x="12975" y="1650" fill="#000000" font-family="AvantGarde" font-style="normal" font-weight="normal" font-size="144" text-anchor="start">- the application is also</text> |
| 691 | <!-- Text --> |
| 692 | <text xml:space="preserve" x="13125" y="1950" fill="#000000" font-family="AvantGarde" font-style="normal" font-weight="normal" font-size="144" text-anchor="start">called the data layer and</text> |
| 693 | <!-- Text --> |
| 694 | <text xml:space="preserve" x="13125" y="2250" fill="#000000" font-family="AvantGarde" font-style="normal" font-weight="normal" font-size="144" text-anchor="start">is cs->data and cs->data_cb</text> |
| 695 | <!-- Text --> |
| 696 | <text xml:space="preserve" x="12975" y="2550" fill="#000000" font-family="AvantGarde" font-style="normal" font-weight="normal" font-size="144" text-anchor="start">- transport layers (xprt) are</text> |
| 697 | <!-- Text --> |
| 698 | <text xml:space="preserve" x="13125" y="2775" fill="#000000" font-family="AvantGarde" font-style="normal" font-weight="normal" font-size="144" text-anchor="start">stackable. conn->xprt is</text> |
| 699 | <!-- Text --> |
| 700 | <text xml:space="preserve" x="13125" y="3000" fill="#000000" font-family="AvantGarde" font-style="normal" font-weight="normal" font-size="144" text-anchor="start">the topmost one.</text> |
| 701 | <!-- Text --> |
| 702 | <text xml:space="preserve" x="4500" y="11175" fill="#000000" font-family="AvantGarde" font-style="normal" font-weight="normal" font-size="216" text-anchor="middle">Transport</text> |
| 703 | <!-- Text --> |
| 704 | <text xml:space="preserve" x="2250" y="12000" fill="#000000" font-family="AvantGarde" font-style="normal" font-weight="normal" font-size="144" text-anchor="start">encoding/decoding function</text> |
| 705 | <!-- Text --> |
| 706 | <text xml:space="preserve" x="2250" y="12525" fill="#000000" font-family="AvantGarde" font-style="normal" font-weight="normal" font-size="144" text-anchor="start">transport layer</text> |
| 707 | <!-- Text --> |
| 708 | <text xml:space="preserve" x="7050" y="12525" fill="#000000" font-family="AvantGarde" font-style="normal" font-weight="normal" font-size="144" text-anchor="start">multiplexer (MUX/DEMUX)</text> |
| 709 | <!-- Text --> |
| 710 | <text xml:space="preserve" x="7050" y="12000" fill="#000000" font-family="AvantGarde" font-style="normal" font-weight="normal" font-size="144" text-anchor="start">general processing function</text> |
| 711 | <!-- Text --> |
| 712 | <text xml:space="preserve" x="11775" y="12525" fill="#000000" font-family="AvantGarde" font-style="normal" font-weight="normal" font-size="144" text-anchor="start">stream buffer (byte-level FIFO)</text> |
| 713 | <!-- Text --> |
| 714 | <text xml:space="preserve" x="3675" y="10725" fill="#000000" font-family="AvantGarde" font-style="normal" font-weight="normal" font-size="144" text-anchor="end">xprt->subscribe(SUB_RECV)</text> |
| 715 | <!-- Text --> |
| 716 | <text xml:space="preserve" x="12225" y="10725" fill="#000000" font-family="AvantGarde" font-style="normal" font-weight="normal" font-size="144" text-anchor="end">xprt->subscribe(SUB_SEND)</text> |
| 717 | <!-- Line --> |
| 718 | <polyline points=" 4261,9751 4261,8751 4761,8751 4761,9751" |
| 719 | stroke="#458dba" stroke-width="45px"/> |
| 720 | <!-- Line --> |
| 721 | <polyline points=" 1486,4576 1486,3576 1986,3576 1986,4576" |
| 722 | stroke="#458dba" stroke-width="45px"/> |
| 723 | <!-- Line --> |
| 724 | <polyline points=" 3286,4576 3286,3576 3786,3576 3786,4576" |
| 725 | stroke="#458dba" stroke-width="45px"/> |
| 726 | <!-- Line --> |
| 727 | <polyline points=" 5086,4576 5086,3576 5586,3576 5586,4576" |
| 728 | stroke="#458dba" stroke-width="45px"/> |
| 729 | <!-- Line --> |
| 730 | <polyline points=" 6961,4576 6961,3576 7461,3576 7461,4576" |
| 731 | stroke="#458dba" stroke-width="45px"/> |
| 732 | <!-- Line --> |
| 733 | <polyline points=" 6692,1261 9959,1261 9959,1761 6692,1761" |
| 734 | stroke="#458dba" stroke-width="45px"/> |
| 735 | <!-- Line --> |
| 736 | <polyline points=" 12425,8161 12825,8161 12825,8661 12425,8661" |
| 737 | stroke="#458dba" stroke-width="45px"/> |
| 738 | <!-- Line --> |
| 739 | <polyline points=" 11750,8161 12150,8161 12150,8661 11750,8661" |
| 740 | stroke="#458dba" stroke-width="45px"/> |
| 741 | <!-- Line --> |
| 742 | <polyline points=" 11075,8161 11475,8161 11475,8661 11075,8661" |
| 743 | stroke="#458dba" stroke-width="45px"/> |
| 744 | <!-- Line --> |
| 745 | <polyline points=" 10400,8161 10800,8161 10800,8661 10400,8661" |
| 746 | stroke="#458dba" stroke-width="45px"/> |
| 747 | <!-- Line --> |
| 748 | <polyline points=" 13100,8161 13500,8161 13500,8661 13100,8661" |
| 749 | stroke="#458dba" stroke-width="45px"/> |
| 750 | <!-- Line --> |
| 751 | <polyline points=" 13775,8161 14175,8161 14175,8661 13775,8661" |
| 752 | stroke="#458dba" stroke-width="45px"/> |
| 753 | <!-- Line --> |
| 754 | <polyline points=" 11157,12331 11614,12331 11614,12581 11157,12581" |
| 755 | stroke="#458dba" stroke-width="45px"/> |
| 756 | <!-- Text --> |
| 757 | <text xml:space="preserve" x="8409" y="657" fill="#1a1a1a" font-family="AvantGarde" font-style="normal" font-weight="normal" font-size="144" text-anchor="middle">si_cs_io_cb</text> |
| 758 | <!-- Text --> |
| 759 | <text xml:space="preserve" x="9534" y="4200" fill="#1a1a1a" font-family="AvantGarde" font-style="normal" font-weight="normal" font-size="144" text-anchor="middle">encode</text> |
| 760 | <!-- Text --> |
| 761 | <text xml:space="preserve" x="11325" y="4200" fill="#1a1a1a" font-family="AvantGarde" font-style="normal" font-weight="normal" font-size="144" text-anchor="middle">encode</text> |
| 762 | <!-- Text --> |
| 763 | <text xml:space="preserve" x="13134" y="4200" fill="#1a1a1a" font-family="AvantGarde" font-style="normal" font-weight="normal" font-size="144" text-anchor="middle">encode</text> |
| 764 | <!-- Text --> |
| 765 | <text xml:space="preserve" x="15009" y="4200" fill="#1a1a1a" font-family="AvantGarde" font-style="normal" font-weight="normal" font-size="144" text-anchor="middle">encode</text> |
| 766 | <!-- Text --> |
| 767 | <text xml:space="preserve" x="1725" y="5250" fill="#1a1a1a" font-family="AvantGarde" font-style="normal" font-weight="normal" font-size="144" text-anchor="middle">decode</text> |
| 768 | <!-- Text --> |
| 769 | <text xml:space="preserve" x="3525" y="5250" fill="#1a1a1a" font-family="AvantGarde" font-style="normal" font-weight="normal" font-size="144" text-anchor="middle">decode</text> |
| 770 | <!-- Text --> |
| 771 | <text xml:space="preserve" x="5325" y="5250" fill="#1a1a1a" font-family="AvantGarde" font-style="normal" font-weight="normal" font-size="144" text-anchor="middle">decode</text> |
| 772 | <!-- Text --> |
| 773 | <text xml:space="preserve" x="7200" y="5250" fill="#1a1a1a" font-family="AvantGarde" font-style="normal" font-weight="normal" font-size="144" text-anchor="middle">decode</text> |
| 774 | <!-- Text --> |
| 775 | <text xml:space="preserve" x="12375" y="9300" fill="#1a1a1a" font-family="AvantGarde" font-style="normal" font-weight="normal" font-size="144" text-anchor="middle">mux_io_cb</text> |
| 776 | <!-- Text --> |
| 777 | <text xml:space="preserve" x="3159" y="9300" fill="#1a1a1a" font-family="AvantGarde" font-style="normal" font-weight="normal" font-size="144" text-anchor="middle">mux_io_cb</text> |
| 778 | <!-- Line --> |
| 779 | <polyline points=" 4261,8850 4761,8850" |
| 780 | stroke="#458dba" stroke-width="15px"/> |
| 781 | <!-- Line --> |
| 782 | <polyline points=" 4261,8925 4761,8925" |
| 783 | stroke="#458dba" stroke-width="15px"/> |
| 784 | <!-- Line --> |
| 785 | <polyline points=" 4261,9000 4761,9000" |
| 786 | stroke="#458dba" stroke-width="15px"/> |
| 787 | <!-- Line --> |
| 788 | <polyline points=" 1486,3675 1986,3675" |
| 789 | stroke="#458dba" stroke-width="15px"/> |
| 790 | <!-- Line --> |
| 791 | <polyline points=" 1486,3750 1986,3750" |
| 792 | stroke="#458dba" stroke-width="15px"/> |
| 793 | <!-- Line --> |
| 794 | <polyline points=" 1486,3825 1986,3825" |
| 795 | stroke="#458dba" stroke-width="15px"/> |
| 796 | <!-- Line --> |
| 797 | <polyline points=" 3286,3675 3786,3675" |
| 798 | stroke="#458dba" stroke-width="15px"/> |
| 799 | <!-- Line --> |
| 800 | <polyline points=" 3286,3750 3786,3750" |
| 801 | stroke="#458dba" stroke-width="15px"/> |
| 802 | <!-- Line --> |
| 803 | <polyline points=" 3286,3825 3786,3825" |
| 804 | stroke="#458dba" stroke-width="15px"/> |
| 805 | <!-- Line --> |
| 806 | <polyline points=" 5086,3675 5586,3675" |
| 807 | stroke="#458dba" stroke-width="15px"/> |
| 808 | <!-- Line --> |
| 809 | <polyline points=" 5086,3750 5586,3750" |
| 810 | stroke="#458dba" stroke-width="15px"/> |
| 811 | <!-- Line --> |
| 812 | <polyline points=" 5086,3825 5586,3825" |
| 813 | stroke="#458dba" stroke-width="15px"/> |
| 814 | <!-- Line --> |
| 815 | <polyline points=" 6961,3675 7461,3675" |
| 816 | stroke="#458dba" stroke-width="15px"/> |
| 817 | <!-- Line --> |
| 818 | <polyline points=" 6961,3750 7461,3750" |
| 819 | stroke="#458dba" stroke-width="15px"/> |
| 820 | <!-- Line --> |
| 821 | <polyline points=" 6961,3825 7461,3825" |
| 822 | stroke="#458dba" stroke-width="15px"/> |
| 823 | <!-- Line --> |
| 824 | <polyline points=" 9750,1261 9750,1761" |
| 825 | stroke="#458dba" stroke-width="15px"/> |
| 826 | <!-- Line --> |
| 827 | <polyline points=" 9525,1261 9525,1761" |
| 828 | stroke="#458dba" stroke-width="15px"/> |
| 829 | <!-- Line --> |
| 830 | <polyline points=" 9300,1261 9300,1761" |
| 831 | stroke="#458dba" stroke-width="15px"/> |
| 832 | <!-- Line --> |
| 833 | <polyline points=" 12600,8161 12600,8661" |
| 834 | stroke="#458dba" stroke-width="15px"/> |
| 835 | <!-- Line --> |
| 836 | <polyline points=" 12675,8161 12675,8661" |
| 837 | stroke="#458dba" stroke-width="15px"/> |
| 838 | <!-- Line --> |
| 839 | <polyline points=" 12750,8161 12750,8661" |
| 840 | stroke="#458dba" stroke-width="15px"/> |
| 841 | <!-- Line --> |
| 842 | <polyline points=" 11925,8161 11925,8661" |
| 843 | stroke="#458dba" stroke-width="15px"/> |
| 844 | <!-- Line --> |
| 845 | <polyline points=" 12000,8161 12000,8661" |
| 846 | stroke="#458dba" stroke-width="15px"/> |
| 847 | <!-- Line --> |
| 848 | <polyline points=" 12075,8161 12075,8661" |
| 849 | stroke="#458dba" stroke-width="15px"/> |
| 850 | <!-- Line --> |
| 851 | <polyline points=" 11250,8161 11250,8661" |
| 852 | stroke="#458dba" stroke-width="15px"/> |
| 853 | <!-- Line --> |
| 854 | <polyline points=" 11325,8161 11325,8661" |
| 855 | stroke="#458dba" stroke-width="15px"/> |
| 856 | <!-- Line --> |
| 857 | <polyline points=" 11400,8161 11400,8661" |
| 858 | stroke="#458dba" stroke-width="15px"/> |
| 859 | <!-- Line --> |
| 860 | <polyline points=" 10575,8161 10575,8661" |
| 861 | stroke="#458dba" stroke-width="15px"/> |
| 862 | <!-- Line --> |
| 863 | <polyline points=" 10650,8161 10650,8661" |
| 864 | stroke="#458dba" stroke-width="15px"/> |
| 865 | <!-- Line --> |
| 866 | <polyline points=" 10725,8161 10725,8661" |
| 867 | stroke="#458dba" stroke-width="15px"/> |
| 868 | <!-- Line --> |
| 869 | <polyline points=" 13275,8161 13275,8661" |
| 870 | stroke="#458dba" stroke-width="15px"/> |
| 871 | <!-- Line --> |
| 872 | <polyline points=" 13350,8161 13350,8661" |
| 873 | stroke="#458dba" stroke-width="15px"/> |
| 874 | <!-- Line --> |
| 875 | <polyline points=" 13425,8161 13425,8661" |
| 876 | stroke="#458dba" stroke-width="15px"/> |
| 877 | <!-- Line --> |
| 878 | <polyline points=" 13950,8161 13950,8661" |
| 879 | stroke="#458dba" stroke-width="15px"/> |
| 880 | <!-- Line --> |
| 881 | <polyline points=" 14025,8161 14025,8661" |
| 882 | stroke="#458dba" stroke-width="15px"/> |
| 883 | <!-- Line --> |
| 884 | <polyline points=" 14100,8161 14100,8661" |
| 885 | stroke="#458dba" stroke-width="15px"/> |
| 886 | <!-- Line --> |
| 887 | <polyline points=" 11357,12331 11357,12581" |
| 888 | stroke="#458dba" stroke-width="15px"/> |
| 889 | <!-- Line --> |
| 890 | <polyline points=" 11443,12331 11443,12581" |
| 891 | stroke="#458dba" stroke-width="15px"/> |
| 892 | <!-- Line --> |
| 893 | <polyline points=" 11529,12331 11529,12581" |
| 894 | stroke="#458dba" stroke-width="15px"/> |
| 895 | <!-- Text --> |
| 896 | <text xml:space="preserve" x="8025" y="1575" fill="#000000" font-family="AvantGarde" font-style="normal" font-weight="normal" font-size="192" text-anchor="middle">channel buf</text> |
| 897 | <!-- Text --> |
| 898 | <g transform="translate(3600,4200) rotate(-90)" > |
| 899 | <text xml:space="preserve" x="0" y="0" fill="#000000" font-family="AvantGarde" font-style="normal" font-weight="normal" font-size="192" text-anchor="middle">rxbuf</text> |
| 900 | </g><!-- Text --> |
| 901 | <g transform="translate(4575,9375) rotate(-90)" > |
| 902 | <text xml:space="preserve" x="0" y="0" fill="#000000" font-family="AvantGarde" font-style="normal" font-weight="normal" font-size="192" text-anchor="middle">dbuf</text> |
| 903 | </g><!-- Text --> |
| 904 | <text xml:space="preserve" x="14625" y="8175" fill="#000000" font-family="AvantGarde" font-style="normal" font-weight="normal" font-size="192" text-anchor="middle">mbuf</text> |
| 905 | <!-- Ellipse --> |
| 906 | <ellipse cx="4488" cy="8082" rx="612" ry="250" fill="#87cfff" |
| 907 | stroke="#0000d1" stroke-width="45px"/> |
| 908 | <!-- Ellipse --> |
| 909 | <ellipse cx="6600" cy="11925" rx="225" ry="150" fill="#87cfff" |
| 910 | stroke="#0000d1" stroke-width="45px"/> |
| 911 | <!-- Text --> |
| 912 | <text xml:space="preserve" x="4500" y="8175" fill="#000000" font-family="AvantGarde" font-style="normal" font-weight="normal" font-size="192" text-anchor="middle">DEMUX</text> |
| 913 | </g> |
| 914 | </svg> |