1
0
Fork 0
mirror of https://github.com/warmcat/libwebsockets.git synced 2025-03-16 00:00:07 +01:00
libwebsockets/doc-assets/lws-overview.svg

336 lines
37 KiB
XML
Raw Normal View History

<?xml version="1.0" encoding="UTF-8"?>
<svg width="142.43mm" height="132.94mm" version="1.1" viewBox="0 0 142.42645 132.93726" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<defs>
<filter id="az" x="-.042506" y="-.041505" width="1.085" height="1.083" color-interpolation-filters="sRGB">
<feGaussianBlur stdDeviation="0.21922556"/>
</filter>
<filter id="ap" x="-.0444" y="-.0444" width="1.0888" height="1.0888" color-interpolation-filters="sRGB">
<feGaussianBlur stdDeviation="0.084531083"/>
</filter>
<filter id="ag" x="-.0444" y="-.0444" width="1.0888" height="1.0888" color-interpolation-filters="sRGB">
<feGaussianBlur stdDeviation="0.084531083"/>
</filter>
<filter id="ah" x="-.0444" y="-.0444" width="1.0888" height="1.0888" color-interpolation-filters="sRGB">
<feGaussianBlur stdDeviation="0.084531083"/>
</filter>
<filter id="ak" x="-.0444" y="-.0444" width="1.0888" height="1.0888" color-interpolation-filters="sRGB">
<feGaussianBlur stdDeviation="0.084531083"/>
</filter>
<filter id="ao" x="-.0444" y="-.0444" width="1.0888" height="1.0888" color-interpolation-filters="sRGB">
<feGaussianBlur stdDeviation="0.084531083"/>
</filter>
<filter id="al" x="-.0444" y="-.0444" width="1.0888" height="1.0888" color-interpolation-filters="sRGB">
<feGaussianBlur stdDeviation="0.084531083"/>
</filter>
<filter id="ai" x="-.0444" y="-.0444" width="1.0888" height="1.0888" color-interpolation-filters="sRGB">
<feGaussianBlur stdDeviation="0.084531083"/>
</filter>
<filter id="aj" x="-.0444" y="-.0444" width="1.0888" height="1.0888" color-interpolation-filters="sRGB">
<feGaussianBlur stdDeviation="0.084531083"/>
</filter>
<filter id="aq" x="-.0444" y="-.0444" width="1.0888" height="1.0888" color-interpolation-filters="sRGB">
<feGaussianBlur stdDeviation="0.084531083"/>
</filter>
<radialGradient id="c" cx="15.529" cy="71.842" r="31.048" gradientTransform="matrix(.87664 .41986 -.43219 .90238 62.364 -14.24)" gradientUnits="userSpaceOnUse">
<stop offset="0"/>
<stop stop-opacity=".99216" offset=".54286"/>
<stop stop-color="#fffafa" stop-opacity="0" offset="1"/>
</radialGradient>
<filter id="ax" x="-.03" y="-.03" width="1.06" height="1.06" color-interpolation-filters="sRGB">
<feGaussianBlur stdDeviation="0.60135641"/>
</filter>
<linearGradient id="af" x1="44.768" x2="11.092" y1="82.65" y2="55.121" gradientTransform="translate(15.635 -12.161)" gradientUnits="userSpaceOnUse">
<stop stop-color="#447821" offset="0"/>
<stop stop-color="#112b00" offset="1"/>
</linearGradient>
<filter id="ay" x="-.03" y="-.03" width="1.06" height="1.06" color-interpolation-filters="sRGB">
<feGaussianBlur stdDeviation="0.35814872"/>
</filter>
<linearGradient id="ae" x1="30.049" x2="15.969" y1="69.08" y2="55.473" gradientTransform="translate(15.635 -12.161)" gradientUnits="userSpaceOnUse">
<stop stop-color="#917c6f" offset="0"/>
<stop stop-color="#483e37" offset="1"/>
</linearGradient>
<filter id="aw" x="-.03" y="-.03" width="1.06" height="1.06" color-interpolation-filters="sRGB">
<feGaussianBlur stdDeviation="0.18156297"/>
</filter>
<linearGradient id="ad" x1="14.08" x2="22.206" y1="54.906" y2="62.088" gradientTransform="translate(15.635 -12.161)" gradientUnits="userSpaceOnUse">
<stop stop-color="#917c6f" offset="0"/>
<stop stop-color="#c8b7b7" offset="1"/>
</linearGradient>
<path id="h" d="m27.596 49.575c1.8633 3.3048 5.5925 4.7703 9.7554 3.1404" fill="none"/>
<filter id="av" x="-.0336" y="-.0336" width="1.0672" height="1.0672" color-interpolation-filters="sRGB">
<feGaussianBlur stdDeviation="0.063969468"/>
</filter>
<filter id="at" x="-.0312" y="-.0312" width="1.0624" height="1.0624" color-interpolation-filters="sRGB">
<feGaussianBlur stdDeviation="0.05940022"/>
</filter>
<filter id="au" x="-.0444" y="-.0444" width="1.0888" height="1.0888" color-interpolation-filters="sRGB">
<feGaussianBlur stdDeviation="0.084531083"/>
</filter>
<filter id="ar" x="-.0468" y="-.0468" width="1.0936" height="1.0936" color-interpolation-filters="sRGB">
<feGaussianBlur stdDeviation="0.089100331"/>
</filter>
<filter id="as" x="-.0444" y="-.0444" width="1.0888" height="1.0888" color-interpolation-filters="sRGB">
<feGaussianBlur stdDeviation="0.084531083"/>
</filter>
<path id="j" d="m59.668 35.811c3.8865 2.9737 3.4332 2.9031 6.7486 6.8822" fill="none"/>
<path id="i" d="m44.033 47.972c3.8865 2.9737 3.4332 2.9031 6.7486 6.8822" fill="none"/>
<path id="g" d="m26.88 58.809c5.249 5.4788 9.83 5.7421 15.639 4.5358" fill="none"/>
<path id="f" d="m28.723 73.22c5.1014 4.5559 13.146 7.2579 20.222 5.0554" fill="none"/>
<path id="e" d="m53.387 84.721c4.7064-0.87913 10.462-4.6776 13.831-9.7554" fill="none"/>
<path id="d" d="m12.328 58.62c0.62888 6.7681 3.7381 14.383 7.9375 18.899" fill="none"/>
<linearGradient id="ac" x1="32.039" x2="39.021" y1="52.549" y2="37.782" gradientTransform="translate(15.635 -12.161)" gradientUnits="userSpaceOnUse">
<stop stop-color="#2b2200" offset="0"/>
<stop stop-color="#bbe1da" offset="1"/>
</linearGradient>
<linearGradient id="v" x1="28.665" x2="32.34" y1="46.368" y2="51.914" gradientTransform="translate(15.635 -12.161)" gradientUnits="userSpaceOnUse">
<stop stop-color="#bbe1c4" offset="0"/>
<stop stop-opacity=".89669" offset="1"/>
</linearGradient>
<linearGradient id="w" x1="25.691" x2="35.647" y1="49.559" y2="49.559" gradientTransform="translate(15.635 -12.161)" gradientUnits="userSpaceOnUse">
<stop offset="0"/>
<stop stop-opacity="0" offset="1"/>
</linearGradient>
<linearGradient id="ab" x1="29.097" x2="33.556" y1="47.188" y2="49.894" gradientTransform="translate(15.635 -12.161)" gradientUnits="userSpaceOnUse">
<stop stop-color="#bbe119" offset="0"/>
<stop stop-color="#bbe1da" stop-opacity=".6281" offset="1"/>
</linearGradient>
<linearGradient id="x" x1="38.62" x2="34.645" y1="46.034" y2="42.693" gradientTransform="translate(15.635 -12.161)" gradientUnits="userSpaceOnUse">
<stop stop-color="#2b2242" offset="0"/>
<stop stop-color="#000106" offset="1"/>
</linearGradient>
<linearGradient id="u" x1="31.371" x2="35.714" y1="45.065" y2="47.47" gradientTransform="translate(15.635 -12.161)" gradientUnits="userSpaceOnUse">
<stop stop-color="#2b2200" offset="0"/>
<stop stop-color="#bbe1da" stop-opacity=".62397" offset="1"/>
</linearGradient>
<linearGradient id="t" x1="32.139" x2="38.554" y1="44.33" y2="46.067" gradientTransform="translate(15.635 -12.161)" gradientUnits="userSpaceOnUse">
<stop stop-color="#353939" offset="0"/>
<stop stop-opacity=".79339" offset="1"/>
</linearGradient>
<linearGradient id="aa" x1="33.141" x2="35.881" y1="44.664" y2="46.435" gradientTransform="translate(15.635 -12.161)" gradientUnits="userSpaceOnUse">
<stop stop-color="#e7ff00" offset="0"/>
<stop stop-color="#bbe1da" offset="1"/>
</linearGradient>
<linearGradient id="z" x1="36.75" x2="39.957" y1="41.29" y2="43.963" gradientTransform="translate(15.635 -12.161)" gradientUnits="userSpaceOnUse" xlink:href="#b"/>
<linearGradient id="b">
<stop stop-color="#e7ff00" offset="0"/>
<stop stop-color="#e7ff00" stop-opacity="0" offset="1"/>
</linearGradient>
<linearGradient id="y" x1="40.09" x2="43.164" y1="38.25" y2="39.853" gradientTransform="translate(15.635 -12.161)" gradientUnits="userSpaceOnUse" xlink:href="#b"/>
<linearGradient id="s" x1="32.707" x2="37.585" y1="43.862" y2="46.702" gradientTransform="translate(15.635 -12.161)" gradientUnits="userSpaceOnUse">
<stop stop-opacity=".54132" offset="0"/>
<stop stop-opacity="0" offset="1"/>
</linearGradient>
<linearGradient id="r" x1="28.644" x2="32.695" y1="46.307" y2="51.528" gradientTransform="translate(15.635 -12.161)" gradientUnits="userSpaceOnUse">
<stop stop-color="#02290d" stop-opacity=".8843" offset="0"/>
<stop stop-color="#bbe1da" stop-opacity="0" offset="1"/>
</linearGradient>
<linearGradient id="q" x1="-2.9766" x2="-1.5828" y1="51.764" y2="53.276" gradientTransform="translate(15.635 -12.161)" gradientUnits="userSpaceOnUse">
<stop stop-color="#aabfcc" stop-opacity=".43388" offset="0"/>
<stop stop-color="#e7e0e6" stop-opacity=".71488" offset="1"/>
</linearGradient>
<linearGradient id="p" x1=".70871" x2="-1.5119" y1="55.095" y2="53.394" gradientTransform="translate(15.635 -12.161)" gradientUnits="userSpaceOnUse">
<stop stop-color="#323536" stop-opacity=".34298" offset="0"/>
<stop stop-color="#c0ccd9" stop-opacity=".69421" offset="1"/>
</linearGradient>
<linearGradient id="o" x1=".66146" x2="6.2366" y1="56.678" y2="56.678" gradientTransform="translate(15.635 -12.161)" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
<linearGradient id="a">
<stop stop-color="#aabfcc" offset="0"/>
<stop stop-color="#aabfcc" stop-opacity="0" offset="1"/>
</linearGradient>
<linearGradient id="n" x1="4.394" x2="8.5517" y1="57.812" y2="57.812" gradientTransform="translate(15.635 -12.161)" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
<linearGradient id="m" x1="6.9453" x2="11.009" y1="58.969" y2="58.969" gradientTransform="translate(15.635 -12.161)" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
<path id="l" d="m73.299 43.027c2.6443 3.103 3.6647 8.9348 3.0736 13.029" fill="none"/>
<path id="k" d="m76.3 58.526c-0.31095 4.8023-1.1169 8.064-2.3623 11.717" fill="none"/>
<filter id="an" x="-.0444" y="-.0444" width="1.0888" height="1.0888" color-interpolation-filters="sRGB">
<feGaussianBlur stdDeviation="0.084531083"/>
</filter>
<filter id="am" x="-.0444" y="-.0444" width="1.0888" height="1.0888" color-interpolation-filters="sRGB">
<feGaussianBlur stdDeviation="0.084531083"/>
</filter>
</defs>
<g transform="translate(-9.7869 -105.7)">
<g transform="matrix(1.9303 0 0 1.9303 -.23762 69.525)">
<path d="m72.947 43.64-8.2352 3.8754 2.6226 8.2854 9.5785 0.51567 0.17683-6.5292-2.5391-6.0804z" filter="url(#az)"/>
<path d="m72.43 43.094-8.2352 3.8754 2.6226 8.2854 9.5785 0.51567 0.17683-6.5292-2.5391-6.0804z" fill="#c9c6e7"/>
<path d="m73.702 55.738 2.5041 2.5041" fill="none" stroke="#5956b4" stroke-width=".26458px"/>
<g fill="#2b1100">
<circle cx="16.036" cy="55.906" r="2.2846" filter="url(#ap)"/>
<circle cx="16.579" cy="50.051" r="2.2846" filter="url(#ag)"/>
<circle cx="41.051" cy="29.188" r="2.2846" filter="url(#ah)"/>
<circle cx="36.173" cy="30.123" r="2.2846" filter="url(#ak)"/>
<circle cx="31.496" cy="31.86" r="2.2846" filter="url(#ao)"/>
<circle cx="49.122" cy="84.961" r="2.2846" filter="url(#al)"/>
<circle cx="43.96" cy="85.126" r="2.2846" filter="url(#ai)"/>
<circle cx="38.916" cy="84.406" r="2.2846" filter="url(#aj)"/>
<circle cx="33.849" cy="83" r="2.2846" filter="url(#aq)"/>
</g>
<circle cx="44.031" cy="56.4" r="31.048" fill="url(#c)"/>
<circle cx="44.55" cy="57.439" r="24.054" fill="#280b0b" filter="url(#ax)" stroke="#18161a" stroke-width=".965"/>
<circle cx="43.966" cy="56.925" r="25.792" fill="none"/>
<g>
<circle cx="43.899" cy="56.792" r="24.054" fill="url(#af)" stroke="#339a5b" stroke-width=".465"/>
<circle cx="39.731" cy="52.384" r="14.326" fill="#280b0b" filter="url(#ay)"/>
<circle cx="39.637" cy="52.195" r="14.326" fill="#483737"/>
<circle cx="38.692" cy="51.722" r="14.326" fill="#6c5353"/>
<circle cx="37.512" cy="51.072" r="14.326" fill="url(#ae)"/>
</g>
<path d="m30.244 38.788c7.1148 3.3747 21.503 10.699 21.503 10.699s-0.53647-7.697-8.1364-11.415c-4.5108-1.9133-9.6351-1.7151-13.366 0.7167z" fill="#800000" fill-opacity=".28099"/>
<g>
<circle cx="35.668" cy="48.557" r="7.2625" fill="#280b0b" filter="url(#aw)"/>
<circle cx="35.574" cy="48.321" r="7.2625" fill="#916f6f"/>
<circle cx="34.629" cy="47.565" r="7.2625" fill="#ac9393"/>
<circle cx="33.613" cy="47.163" r="7.2625" fill="url(#ad)"/>
</g>
<path d="m30.736 75.701c6.8963 4.7405 18.012 5.4861 24.656-0.3341" fill="none"/>
<text fill="#1f241c" font-family="'Open Sans Condensed'" font-size="2.9858px" letter-spacing="0px" stroke-width=".37323" word-spacing="0px" style="font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;line-height:1.25" xml:space="preserve"><textPath xlink:href="#h"><tspan fill="#1f241c" font-family="'Open Sans Condensed'" stroke-width=".37323">struct lws</tspan></textPath></text>
<path d="m29.857 40.903c3.6364 1.7248 10.99 5.4681 10.99 5.4681s-0.2742-3.934-4.1586-5.8344c-2.3055-0.97792-4.9246-0.87659-6.8317 0.36631z" fill="#a00" fill-opacity=".4876"/>
<text transform="rotate(28.489)" x="50.696777" y="20.985275" fill="#ffffff" font-family="'Open Sans Condensed'" font-size="3.4176px" letter-spacing="0px" stroke-width=".42721" word-spacing="0px" style="font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;line-height:1.25" xml:space="preserve"><tspan x="50.696777" y="20.985275" fill="#ffffff" font-family="'Open Sans Condensed'" stroke-width=".42721">tls</tspan></text>
<text transform="rotate(28.489)" x="53.057144" y="17.30608" fill="#ffffff" fill-opacity=".5124" font-family="'Open Sans Condensed'" font-size="4.0055px" letter-spacing="0px" stroke-width=".50068" word-spacing="0px" style="font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;line-height:1.25" xml:space="preserve"><tspan x="53.057144" y="17.30608" fill="#ffffff" fill-opacity=".5124" font-family="'Open Sans Condensed'" stroke-width=".50068">tls ctx</tspan></text>
<g>
<circle cx="69.591" cy="45.368" r="2.2846" fill="#04a" filter="url(#av)"/>
<circle cx="71.316" cy="49.88" r="2.2846" fill="#04a" filter="url(#at)"/>
<circle cx="69.457" cy="45.266" r="2.2846" fill="#5f8dd3"/>
<text x="68.064011" y="45.808071" fill="#000000" font-family="'Open Sans Condensed'" font-size="1.63px" letter-spacing="0px" stroke-width=".20375" word-spacing="0px" style="font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;line-height:1.25" xml:space="preserve"><tspan x="68.064011" y="45.808071" fill="#ffffff" font-family="'Open Sans Condensed'" stroke-width=".20375">http1</tspan></text>
<circle cx="71.161" cy="49.776" r="2.2846" fill="#5f8dd3"/>
<text x="69.767853" y="50.318241" fill="#000000" font-family="'Open Sans Condensed'" font-size="1.63px" letter-spacing="0px" stroke-width=".20375" word-spacing="0px" style="font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;line-height:1.25" xml:space="preserve"><tspan x="69.767853" y="50.318241" fill="#ffffff" font-family="'Open Sans Condensed'" stroke-width=".20375">http2</tspan></text>
<circle cx="72.19" cy="54.652" r="2.2846" fill="#04a" filter="url(#au)"/>
<circle cx="72.029" cy="54.587" r="2.2846" fill="#5f8dd3"/>
<text x="71.179817" y="55.129093" fill="#000000" font-family="'Open Sans Condensed'" font-size="1.63px" letter-spacing="0px" stroke-width=".20375" word-spacing="0px" style="font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;line-height:1.25" xml:space="preserve"><tspan x="71.179817" y="55.129093" fill="#ffffff" font-family="'Open Sans Condensed'" stroke-width=".20375">ws</tspan></text>
<circle cx="71.198" cy="64.408" r="2.2846" fill="#04a" filter="url(#ar)"/>
<circle cx="72.119" cy="59.565" r="2.2846" fill="#04a" filter="url(#as)"/>
<circle cx="71.962" cy="59.464" r="2.2846" fill="#5f8dd3"/>
<text x="70.876762" y="59.983143" fill="#000000" font-family="'Open Sans Condensed'" font-size="1.63px" letter-spacing="0px" stroke-width=".20375" word-spacing="0px" style="font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;line-height:1.25" xml:space="preserve"><tspan x="70.876762" y="59.983143" fill="#ffffff" font-family="'Open Sans Condensed'" stroke-width=".20375">raw</tspan></text>
<circle cx="71.094" cy="64.275" r="2.2846" fill="#5f8dd3"/>
<text x="70.149879" y="64.746742" fill="#000000" font-family="'Open Sans Condensed'" font-size="1.63px" letter-spacing="0px" stroke-width=".20375" word-spacing="0px" style="font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;line-height:1.25" xml:space="preserve"><tspan x="70.149879" y="64.746742" fill="#ffffff" font-family="'Open Sans Condensed'" stroke-width=".20375">cgi</tspan></text>
</g>
<g fill="#08a">
<circle cx="69.774" cy="67.9" r=".40476"/>
<circle cx="69.323" cy="69.086" r=".40476"/>
<circle cx="68.755" cy="70.222" r=".40476"/>
</g>
<path d="m59.668 35.811c3.8865 2.9737 3.4332 2.9031 6.7486 6.8822" fill="none"/>
<g>
<text transform="translate(.4009 -.46772)" fill="#0055d4" font-family="'Open Sans Condensed'" font-size="3.4176px" letter-spacing="0px" stroke-width=".42721" word-spacing="0px" style="font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;line-height:1.25" xml:space="preserve"><textPath xlink:href="#j"><tspan fill="#0055d4" font-family="'Open Sans Condensed'" stroke-width=".42721">lws_role</tspan></textPath></text>
<text transform="rotate(-90 29.678 55.996)" x="-44.194904" y="-46.217644" fill="#008000" font-family="'Open Sans Condensed'" font-size="3.4176px" letter-spacing="0px" stroke-width=".42721" word-spacing="0px" style="font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;line-height:1.25" xml:space="preserve"><textPath xlink:href="#i">protocol</textPath></text>
<circle cx="31.337" cy="31.668" r="2.2846" fill="#008000"/>
<circle cx="37.217" cy="48.907" r="2.2846" fill="#5f8dd3" stroke="#000" stroke-width=".125"/>
<text transform="rotate(25.543)" x="53.502361" y="28.587774" fill="#000000" font-family="'Open Sans Condensed'" font-size="1.63px" letter-spacing="0px" stroke-width=".20375" word-spacing="0px" style="font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;line-height:1.25" xml:space="preserve"><tspan x="53.502361" y="28.587774" fill="#ffffff" font-family="'Open Sans Condensed'" stroke-width=".20375">role</tspan></text>
<circle cx="36.046" cy="29.894" r="2.2846" fill="#008000"/>
<circle cx="40.96" cy="28.902" r="2.2846" fill="#008000"/>
</g>
<g fill="#677821">
<circle transform="rotate(164.42)" cx="-37.837" cy="-40.708" r=".40476"/>
<circle transform="rotate(164.42)" cx="-36.564" cy="-40.198" r=".40476"/>
<circle transform="rotate(164.42)" cx="-35.294" cy="-39.801" r=".40476"/>
</g>
<path d="m27.596 49.575c1.8633 3.3048 5.5925 4.7703 9.7554 3.1404" fill="none"/>
<text fill="#ffeeaa" font-family="'Open Sans Condensed'" font-size="2.9858px" letter-spacing="0px" stroke-width=".37323" word-spacing="0px" style="font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;line-height:1.25" xml:space="preserve"><textPath xlink:href="#g"><tspan fill="#ffeeaa" font-family="'Open Sans Condensed'" stroke-width=".37323">struct lws_vhost</tspan></textPath></text>
<text fill="#fff6d5" font-family="'Open Sans Condensed'" font-size="2.9858px" letter-spacing="0px" stroke-width=".37323" word-spacing="0px" style="font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;line-height:1.25" xml:space="preserve"><textPath xlink:href="#f"><tspan fill="#fff6d5" font-family="'Open Sans Condensed'" stroke-width=".37323">struct lws_context</tspan></textPath></text>
<path d="m26.88 58.809c5.249 5.4788 9.83 5.7421 15.639 4.5358" fill="none"/>
<path d="m28.723 73.22c5.1014 4.5559 13.146 7.2579 20.222 5.0554" fill="none"/>
<circle cx="30.23" cy="45.491" r="2.2846" fill="#008000" stroke="#000" stroke-width=".125"/>
<text transform="rotate(25.543)" x="45.184494" y="28.32321" fill="#000000" font-family="'Open Sans Condensed'" font-size="1.1975px" letter-spacing="0px" stroke-width=".14968" word-spacing="0px" style="font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;line-height:1.25" xml:space="preserve"><tspan x="45.184494" y="28.32321" fill="#ffffff" font-family="'Open Sans Condensed'" stroke-width=".14968">protocol</tspan></text>
<g fill="#ff2a2a">
<circle cx="43.799" cy="84.872" r="2.2846"/>
<circle cx="48.977" cy="84.654" r="2.2846"/>
<circle cx="38.754" cy="84.187" r="2.2846"/>
<circle cx="33.743" cy="82.783" r="2.2846"/>
</g>
<text fill="#d40000" font-family="'Open Sans Condensed'" font-size="3.4176px" letter-spacing="0px" stroke-width="1.6146" word-spacing="0px" style="font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;line-height:1.25" xml:space="preserve"><textPath xlink:href="#e">event loops<tspan fill="#d40000" font-family="'Open Sans Condensed'"/></textPath></text>
<path d="m53.387 84.721c4.7064-0.87913 10.462-4.6776 13.831-9.7554" fill="none"/>
<g fill="#c83737">
<circle cx="30.034" cy="80.913" r=".40476"/>
<circle cx="28.798" cy="80.278" r=".40476"/>
<circle cx="27.629" cy="79.576" r=".40476"/>
</g>
<g fill="#000000" font-family="'Open Sans Condensed'" font-size="1.63px" letter-spacing="0px" stroke-width=".20375" word-spacing="0px">
<text x="32.110046" y="83.315392" style="font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;line-height:1.25" xml:space="preserve"><tspan x="32.110046" y="83.315392" fill="#ffffff" font-family="'Open Sans Condensed'" stroke-width=".20375">event</tspan></text>
<text x="37.968678" y="84.685555" style="font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;line-height:1.25" xml:space="preserve"><tspan x="37.968678" y="84.685555" fill="#ffffff" font-family="'Open Sans Condensed'" stroke-width=".20375">uv</tspan></text>
<text x="47.890556" y="85.158028" style="font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;line-height:1.25" xml:space="preserve"><tspan x="47.890556" y="85.158028" fill="#ffffff" font-family="'Open Sans Condensed'" stroke-width=".20375">poll</tspan></text>
<text x="43.118603" y="85.299767" style="font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;line-height:1.25" xml:space="preserve"><tspan x="43.118603" y="85.299767" fill="#ffffff" font-family="'Open Sans Condensed'" stroke-width=".20375">ev</tspan></text>
</g>
<text transform="translate(2.3624 1.4174)" fill="#483e37" font-family="'Open Sans Condensed'" font-size="3.4176px" letter-spacing="0px" stroke-width=".42721" word-spacing="0px" style="font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;line-height:1.25" xml:space="preserve"><textPath xlink:href="#d">TLS backend</textPath></text>
<path d="m12.328 58.62c0.62888 6.7681 3.7381 14.383 7.9375 18.899" fill="none"/>
<g>
<circle cx="15.919" cy="55.691" r="2.2846" fill="#483e37"/>
<circle cx="16.486" cy="49.833" r="2.2846" fill="#483e37"/>
<text x="16.4466" y="49.484085" fill="#ffffff" font-family="'Open Sans Condensed'" font-size="1.63px" letter-spacing="0px" stroke-width=".20375" text-align="center" text-anchor="middle" word-spacing="0px" style="font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;line-height:1" xml:space="preserve"><tspan x="16.4466" y="49.484085" text-align="center" style="line-height:1">open</tspan><tspan x="16.4466" y="51.114063" text-align="center" style="line-height:1">SSL</tspan></text>
<text x="15.812221" y="55.505154" fill="#ffffff" font-family="'Open Sans Condensed'" font-size="1.63px" letter-spacing="0px" stroke-width=".20375" text-align="center" text-anchor="middle" word-spacing="0px" style="font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;line-height:1" xml:space="preserve"><tspan x="15.812221" y="55.505154" text-align="center" style="line-height:1">mbed</tspan><tspan x="15.812221" y="57.135132" text-align="center" style="line-height:1">TLS</tspan></text>
</g>
<path d="m50.315 42.462 2.1734-4.0632 0.85045-3.1183-0.56697-0.47247-3.0238 1.9844-1.8899 3.7798 1.6064 1.0394z" fill-opacity=".30579"/>
<g>
<path d="m41.314 37.17 2.6695-3.4018 2.5513-1.6064 2.2679-0.75595 1.5119-1.0394 4.3467-5.3862 2.9448 0.95507-0.16022 1.3153 1.6653-0.82716 2.5426 0.82464-4.2522 5.6696-1.6064 0.94494-2.5513 1.0394-1.8899 1.5119-1.0394 1.4174-2.3624 3.3073-0.76182-0.73407-0.93907-0.77783-1.2258-0.81128-1.3255-0.70062-1.1593-0.52777z" fill="url(#ac)" stroke="#000" stroke-width=".26458px"/>
<path d="m51.282 36.412-3.2406 4.744-1.0023-0.86863-1.2027-1.0023-0.90204-0.60136-1.3363-0.66817-1.0357-0.4009-1.2361-0.4009 2.7729-3.5747z" fill="url(#v)" stroke="url(#w)" stroke-width=".26458px"/>
<path d="m44.133 38.216-0.06682-4.1761 1.9377 0.96885-0.3675 3.1738 2.6393-2.205 2.1382 1.1693-4.2429 2.205-0.83522-0.50113z" fill="url(#ab)"/>
<path d="m50.347 30.298 6.9824 2.6059-1.7373 1.0691-6.8822-2.6059z" fill="url(#x)"/>
<path d="m53.354 34.842-2.1047 1.637-7.1495-2.8731 2.5057-1.47z" fill="url(#u)"/>
<path d="m55.625 33.907-6.7151-2.5057-2.372 0.7684 6.782 2.7395z" fill="url(#t)"/>
<path d="m47.808 34.875 0.03341-1.9377 0.60136-1.3363 1.8709 0.80181-0.66817 0.93544-0.13363 0.83522 0.96885-0.3675 1.1693-0.70158 2.7395 1.1693-2.372 0.50113-2.4388 0.26727z" fill="url(#aa)"/>
<path d="m54.657 24.92 3.0902 1.0442-0.13775 1.1403 1.2343-0.76322 2.8624 0.98418-4.3097 5.5792-7.0492-2.5391z"/>
<path d="m51.984 31.367-0.16704-0.50113 0.3675-2.6059 2.0045 0.73499-0.56795 1.9377 3.0402-1.2361 2.2384 0.66817-3.7084 1.7373z" fill="url(#z)"/>
<path d="m56.026 28.294-0.86862-3.0068 2.1716 0.66817-0.13364 1.637 1.8375-1.0023 2.205 0.66817-5.2118 1.2027z" fill="url(#y)"/>
<path d="m46.572 32.136 6.9156 2.7395 2.205-0.83522-6.8154-2.7061z" fill="url(#s)"/>
<path d="m44.066 33.65-2.7758 3.5435 1.2048 0.38979 1.2166 0.53153 0.76776 0.48428 1.2048 0.59059 0.81501 0.57878 0.75595 0.73233 0.74414 0.67327 3.2837-4.5711-2.6104-1.1576-2.764-1.0158z" fill="url(#r)"/>
<text transform="rotate(18.076)" x="63.807125" y="1.2534895" fill="#000000" font-family="'Open Sans Condensed'" font-size="2.1167px" letter-spacing="0px" stroke-width=".26458" text-align="center" text-anchor="middle" word-spacing="0px" style="font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;line-height:1" xml:space="preserve"><tspan x="63.807125" y="1.2534895" text-align="center" style="line-height:1">tcp, udp,</tspan><tspan x="63.807125" y="3.370156" text-align="center" style="line-height:1">unix listen</tspan><tspan x="63.807125" y="5.4868226" text-align="center" style="line-height:1">socket(s)</tspan></text>
</g>
<g stroke="#000" stroke-width=".26458px">
<path d="m26.66 45.165-2.7395-0.46772-1.9377-1.2695-3.5413-1.0691-3.0946-2.2914-3.0526-0.71542 0.53454 3.2072 3.2741 2.8063 3.8754 1.1359 2.94 1.6036 3.5413 0.80181-0.06682-1.9377z" fill="#2b2200"/>
<path d="m26.526 45.8-1.6036 0.63476 1.5368 1.4366v-1.2027z" fill="#a80"/>
<path d="m23.987 44.831-1.7373-0.45102-2.2718 0.21716 0.70158 0.50113 2.0045 2.7061 1.6203 0.48443-1.6537-2.4221 2.9734-0.75169z" fill="#d4aa00"/>
<path d="m20.012 42.994-2.372-0.23386-1.8041-0.30068 0.56795 2.1716 2.0045 1.3029 1.3698 0.53454-1.9711-2.6393 4.0759-0.50113-1.7038-0.33409z" fill="#fc0"/>
<path d="m15.168 44.497-0.63476-3.1738 3.3075 0.56795-1.6661-1.2581-3.2784-0.67964 0.93544 3.5079z" fill="#ffe680"/>
</g>
<g>
<path d="m12.709 42.576 2.7122-2.5652-3.2569-0.78101z" fill="url(#q)"/>
<path d="m15.399 40.005-2.6931 2.5513 3.5908 3.0238 2.3151-3.3073z" fill="url(#p)"/>
<path d="m18.659 42.368 3.2128 0.99219-1.8426 3.3073-3.7325-1.3229z" fill="url(#o)"/>
<path d="m21.825 43.36 2.3624 1.3702-1.5592 3.2128-2.5986-1.3702z" fill="url(#n)"/>
<path d="m24.281 44.635 2.3624 0.61421-0.10564 0.6713-0.08335 0.60437-0.01957 0.9022-0.09187 1.0537 0.15869 0.50099-3.9215-0.99219z" fill="url(#m)"/>
<text transform="rotate(-48.141)" x="-21.20005" y="30.030567" fill="#000000" font-family="'Open Sans Condensed'" font-size="2.1167px" letter-spacing="0px" stroke-width=".26458" text-align="center" text-anchor="middle" word-spacing="0px" style="font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;line-height:1" xml:space="preserve"><tspan x="-21.20005" y="30.030567" text-align="center" style="line-height:1">tcp, udp,</tspan><tspan x="-21.20005" y="32.147232" text-align="center" style="line-height:1">http1,h2, ws</tspan><tspan x="-21.20005" y="34.263901" text-align="center" style="line-height:1">tls client(s)</tspan></text>
<path d="m72.143 42.462 1.5119 2.7403 0.88562 2.0172 0.68164 2.1911 0.37274 2.0367 0.13887 1.787-0.0945 3.0711 3.3383 0.20855-0.05374-1.0854 0.05612-1.2574-0.03536-2.4677-0.32879-2.8159-0.67926-2.5875-1.3051-2.9876-1.6789-2.5051z" fill="#e7e0e6"/>
</g>
<g fill="#050">
<circle cx="31.304" cy="31.668" r="1.6499"/>
<circle cx="36.048" cy="29.864" r="1.6499"/>
<circle cx="40.959" cy="28.862" r="1.6499"/>
</g>
<text transform="rotate(33.374)" x="71.540237" y="5.0364399" fill="#ffffff" font-family="'Open Sans Condensed'" font-size="3.2488px" letter-spacing="0px" stroke-width=".40609" text-align="center" text-anchor="middle" word-spacing="0px" style="font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;line-height:1" xml:space="preserve"><tspan x="71.540237" y="5.0364399" text-align="center" style="line-height:1">ALPN</tspan><tspan x="71.540237" y="8.2851915" text-align="center" style="line-height:1">SNI</tspan></text>
<text transform="translate(.26727 .46772)" fill="#000000" font-family="'Open Sans Condensed'" font-size="2.417px" letter-spacing="0px" stroke-width=".30212" word-spacing="0px" style="font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;line-height:1.25" xml:space="preserve"><textPath xlink:href="#l"><tspan font-family="'Open Sans Condensed'" stroke-width=".30212">ah http headers</tspan></textPath></text>
<path d="m73.299 43.027c2.6443 3.103 3.6647 8.9348 3.0736 13.029" fill="none"/>
<g>
<circle cx="55.247" cy="64.799" r="7.6227" fill="#4b4046"/>
<circle cx="55.035" cy="63.845" r="7.6227" fill="#6f5b55"/>
<circle cx="54.369" cy="63.049" r="7.6227" fill="#ac9393"/>
<g font-family="'Open Sans Condensed'" letter-spacing="0px" text-anchor="middle" word-spacing="0px">
<text transform="rotate(26.555)" x="76.934166" y="31.127186" fill="#000000" font-size="2.5688px" stroke-width=".3211" text-align="center" style="font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;line-height:1" xml:space="preserve"><tspan x="76.934166" y="31.127186" font-family="'Open Sans Condensed'" stroke-width=".3211" text-align="center" text-anchor="middle" style="line-height:1">event loop</tspan></text>
<text transform="rotate(29.003)" x="75.430794" y="40.665337" fill="#cccccc" font-size="2.5688px" stroke-width=".3211" text-align="center" style="font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;line-height:1" xml:space="preserve"><tspan x="75.430794" y="40.665337" text-align="center" style="line-height:1">peer tracking</tspan><tspan x="75.430794" y="43.234123" text-align="center" style="line-height:1">basic auth</tspan></text>
<text transform="rotate(38.032)" x="61.58363" y="36.673119" fill="#cccccc" font-size="2.4588px" stroke-width=".30735" text-align="center" style="font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;line-height:1" xml:space="preserve"><tspan x="61.58363" y="36.673119" fill="#cccccc" font-family="'Open Sans Condensed'" stroke-width=".30735" text-align="center" text-anchor="middle" style="line-height:1">logging</tspan></text>
</g>
</g>
<path d="m76.3 58.526c-0.31095 4.8023-1.1169 8.064-2.3623 11.717" fill="none"/>
<g>
<text fill="#000000" font-family="'Open Sans Condensed'" font-size="2.2084px" letter-spacing="0px" stroke-width=".27605" word-spacing="0px" style="font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;line-height:1.25" xml:space="preserve"><textPath xlink:href="#k"><tspan font-family="'Open Sans Condensed'" stroke-width=".27605">ws ext: pm-def</tspan></textPath></text>
<circle cx="32.072" cy="26.49" r="2.2846" fill="#2b1100" filter="url(#an)"/>
<circle cx="31.914" cy="26.298" r="2.2846" fill="#008000"/>
<circle cx="31.88" cy="26.298" r="1.6499" fill="#050"/>
<circle cx="37.618" cy="24.986" r="2.2846" fill="#2b1100" filter="url(#am)"/>
<circle cx="37.459" cy="24.794" r="2.2846" fill="#008000"/>
<circle cx="37.426" cy="24.794" r="1.6499" fill="#050"/>
<g font-family="'Open Sans Condensed'" letter-spacing="0px" text-anchor="middle" word-spacing="0px">
<text transform="rotate(-21.452)" x="20.092173" y="36.830799" fill="#ffffff" font-size="2.1167px" stroke-width=".26458" text-align="center" style="font-feature-settings:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;line-height:1.25" xml:space="preserve"><tspan x="20.092173" y="36.830799" fill="#ffffff" font-family="'Open Sans Condensed'" stroke-width=".26458">ssh</tspan></text>
<text transform="rotate(-15.946)" x="29.145987" y="34.664425" fill="#ffffff" font-size="1.6275px" stroke-width=".20343" text-align="center" style="font-feature-settings:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;line-height:1.25" xml:space="preserve"><tspan x="29.145987" y="34.664425" fill="#ffffff" font-family="'Open Sans Condensed'" stroke-width=".20343">ACME</tspan></text>
<text transform="rotate(32.893)" x="79.83622" y="9.3089314" fill="#cccccc" font-size="2.5688px" stroke-width=".3211" text-align="center" style="font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;line-height:1" xml:space="preserve"><tspan x="79.83622" y="9.3089314" text-align="center" style="line-height:1">lws_ring</tspan><tspan x="79.83622" y="11.877718" text-align="center" style="line-height:1">VFS</tspan><tspan x="79.83622" y="14.446506" text-align="center" style="line-height:1">zip_fops</tspan></text>
</g>
</g>
<path d="m60.073 68.304c-5.1565-2.4458-13.364-6.5727-13.364-6.5727s-1.1231 5.484 4.385 8.1788c3.2693 1.3867 5.991 0.86504 8.9787-1.6061z" fill="#06f" fill-opacity=".4876"/>
<text transform="rotate(26.859)" x="77.195198" y="36.191971" fill="#e9ddaf" font-family="'Open Sans Condensed'" font-size="1.8247px" letter-spacing="0px" stroke-width=".22809" text-align="center" text-anchor="middle" word-spacing="0px" style="font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;line-height:1" xml:space="preserve"><tspan x="77.195198" y="36.191971" fill="#e9ddaf" font-family="'Open Sans Condensed'" stroke-width=".22809" text-align="center" text-anchor="middle" style="line-height:1">service thread(s)</tspan></text>
<g transform="matrix(2.4352 0 0 2.4352 154.23 -92.854)">
<path d="m-53.889 51.059c-0.2293-0.20876-0.45859-0.41752-0.68788-0.62628h-2.0842c-0.41073-0.4478-0.80598-0.91066-1.2269-1.3486-0.15635-0.18661-0.4411-0.26749-0.65538-0.13157-0.2532 0.13273-0.37597 0.41669-0.39448 0.69074-0.04758 0.31909 0.05354 0.68674 0.35175 0.85254 0.18832 0.10808 0.49386 0.04671 0.5437-0.19062 0.06699-0.21357-0.06488-0.51518-0.31343-0.50948-0.16072 3e-3 -0.26391 0.28316-0.07717 0.33226 0.08893 0.01617 0.10978-0.27326 0.17002-0.07939 0.0638 0.17507-0.16528 0.31938-0.28293 0.16402-0.213-0.21052-0.14192-0.60391 0.10406-0.75718 0.23529-0.07437 0.39199 0.16171 0.52824 0.31112 0.3873 0.42849 0.77336 0.85822 1.1601 1.2873 0.95481 0.0017 1.9097 0.0034 2.8645 0.0051z"/>
<path d="m-56.225 50.077c0.07138-0.08712 0.14278-0.17424 0.21416-0.26135 0.10648 0.11858 0.21295 0.23715 0.31943 0.35573 0.19118 0.0012 0.38235 0.0025 0.57352 0.0036-0.2069-0.22868-0.41381-0.45737-0.62072-0.68605 0.10043-0.11374 0.20086-0.22747 0.30128-0.34121 0.19601 0.22868 0.39203 0.45737 0.58804 0.68605-0.0012-0.219-0.0025-0.43801-0.0036-0.65701-0.10043-0.11252-0.20085-0.22505-0.30128-0.33758 0.07198-0.10615 0.24907-0.21551 0.08668-0.31451-0.36406-0.40214-0.72811-0.80428-1.0922-1.2064-0.76543-0.0026-1.5317 0.01021-2.2966-0.0021-0.1821-0.01604-0.40898-0.07372-0.45071-0.28286-0.088-0.27195 0.21101-0.59285 0.48564-0.46528 0.18982 0.03674 0.11004 0.42003-0.05779 0.29297 0.17429-0.25602-0.31955-0.22697-0.17976 0.02451 0.09575 0.22004 0.44485 0.25635 0.58255 0.05617 0.14323-0.2308-0.05154-0.4937-0.2705-0.58497-0.21915-0.10466-0.49117-0.07771-0.67434 0.08567-0.27378 0.20864-0.40621 0.61643-0.22752 0.92795 0.104 0.233 0.33446 0.38219 0.58455 0.41121 0.33507 0.04187 0.67431 0.01608 1.0114 0.02326h1.3407c0.25409 0.28192 0.50818 0.56384 0.76228 0.84577-0.22868 0.25288-0.45736 0.50576-0.68605 0.75865-0.16572-0.21381-0.41577-0.37628-0.51666-0.63121-0.08161-0.29871 0.35413-0.53156 0.5618-0.30555 0.19943 0.11035-0.01178 0.46291-0.15577 0.26978 0.1166-0.03951 0.16904-0.22582-0.01437-0.21638-0.21499 0.08183-0.12303 0.40655 0.0643 0.46926 0.17871 0.08651 0.40261-0.07556 0.3799-0.27118 0.01826-0.28278-0.18842-0.5907-0.48713-0.60388-0.31967-0.06227-0.68039 0.12472-0.75854 0.45263-0.10766 0.28228 0.06955 0.56541 0.26324 0.75966 0.22723 0.24585 0.44911 0.49691 0.67408 0.74475z" fill="#f00"/>
<path d="m-54.464 50.361c0.0017-0.54757 0.0034-1.0951 0.0051-1.6427-0.33832-0.38748-0.69457-0.75998-1.021-1.1574-0.10913-0.13496-0.19252-0.29467-0.18614-0.47289-0.0086-0.33136 0.19731-0.65612 0.50556-0.78212 0.23741-0.10513 0.52154-0.11525 0.754 0.0094 0.3243 0.16516 0.47791 0.61109 0.30157 0.93353-0.13519 0.19951-0.48216 0.19542-0.59404-0.0265-0.1079-0.14135-0.10151-0.43084 0.10373-0.47103 0.16696-0.0034 0.20764 0.24106 0.02397 0.25083-0.04085 0.15882 0.28306 0.12232 0.27255-0.04546 0.04138-0.23154-0.21514-0.42013-0.4314-0.37653-0.24357 0.02414-0.45758 0.28096-0.37332 0.52553 0.08871 0.24037 0.30285 0.40102 0.46218 0.59282 0.25613 0.27896 0.51148 0.55865 0.76757 0.83766-0.0017 0.61002-0.0034 1.22-0.0051 1.8301-0.19509-0.0017-0.3902-0.0035-0.58527-0.0051z"/>
</g>
</g>
</g>
2018-07-30 15:22:33 +08:00
</svg>