Files
fx_cast/diagram.svg

1 line
18 KiB
XML

<svg height="720" viewBox="249 70 950 720" width="950" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><marker id="a" markerHeight="8" markerUnits="strokeWidth" markerWidth="10" orient="auto" overflow="visible" stroke-miterlimit="10" viewBox="-1 -4 10 8"><path d="m8 0-4-3-4 3 4 3z" fill="#a5a5a5" stroke="#a5a5a5"/></marker><marker id="b" markerHeight="8" markerUnits="strokeWidth" markerWidth="10" orient="auto" overflow="visible" stroke-miterlimit="10" viewBox="-9 -4 10 8"><path d="m-8 0 8 3v-6z" stroke="#000"/></marker><font-face ascent="952.1484" cap-height="704.58984" descent="-241.21094" font-family="SF Mono" font-size="16" font-weight="400" panose-1="2 11 0 9 0 0 2 0 0 0" underline-position="-73.24219" underline-thickness="48.828125" x-height="529.78516"><font-face-src><font-face-name name="SFMono-Regular"/></font-face-src></font-face><font-face ascent="951.9958" cap-height="714" descent="-212.99744" font-family="Helvetica Neue" font-size="12" font-weight="400" panose-1="2 0 5 3 0 0 0 2 0 4" underline-position="-100" underline-thickness="50" x-height="517"><font-face-src><font-face-name name="HelveticaNeue"/></font-face-src></font-face><font-face ascent="952.1484" cap-height="704.58984" descent="-241.21094" font-family="SF Mono" font-size="12" font-weight="400" panose-1="2 11 0 9 0 0 2 0 0 0" underline-position="-73.24219" underline-thickness="48.828125" x-height="529.78516"><font-face-src><font-face-name name="SFMono-Regular"/></font-face-src></font-face><font-face ascent="951.9958" cap-height="714" descent="-212.99744" font-family="Helvetica Neue" font-size="10" font-weight="400" panose-1="2 0 5 3 0 0 0 2 0 4" underline-position="-100" underline-thickness="50" x-height="517"><font-face-src><font-face-name name="HelveticaNeue"/></font-face-src></font-face><font-face ascent="952.1484" cap-height="704.58984" descent="-241.21094" font-family="SF Mono" font-size="10" font-weight="400" panose-1="2 11 0 9 0 0 2 0 0 0" underline-position="-73.24219" underline-thickness="48.828125" x-height="529.78516"><font-face-src><font-face-name name="SFMono-Regular"/></font-face-src></font-face><font-face ascent="951.9958" cap-height="714" descent="-212.99744" font-family="Helvetica Neue" font-size="8" font-weight="400" panose-1="2 0 5 3 0 0 0 2 0 4" underline-position="-100" underline-thickness="50" x-height="517"><font-face-src><font-face-name name="HelveticaNeue"/></font-face-src></font-face><marker id="c" markerHeight="8" markerUnits="strokeWidth" markerWidth="10" orient="auto" overflow="visible" stroke-miterlimit="10" viewBox="-1 -4 10 8"><path d="m8 0-8-3v6z" stroke="#000"/></marker><marker id="d" markerHeight="8" markerUnits="strokeWidth" markerWidth="18" orient="auto" overflow="visible" stroke-miterlimit="10" viewBox="-17 -4 18 8"><path d="m-8 3v-3l8 3v-6l-8 3v-3l-8 3z" stroke="#000"/></marker><marker id="e" markerHeight="8" markerUnits="strokeWidth" markerWidth="18" orient="auto" overflow="visible" stroke-miterlimit="10" viewBox="-1 -4 18 8"><path d="m8-3v3l-8-3v6l8-3v3l8-3z" stroke="#000"/></marker></defs><g fill="none"><path d="m629 510h-10v34.5c-5.5 0-5.5 11 0 11v204.5h-31.5" marker-end="url(#a)" stroke="#a5a5a5" stroke-linecap="round" stroke-linejoin="round"/><path d="m1029 290h-10v50h-94.4652c0 5.5-11 5.5-11 0h-89.0348c0 5.5-11 5.5-11 0h-204.5v204.5c-5.5 0-5.5 11 0 11v154.5h-21.5" marker-end="url(#a)" stroke="#a5a5a5" stroke-linecap="round" stroke-linejoin="round"/><path d="m849 290h-10v40h-14.5c0 5.5-11 5.5-11 0h-214.5v214.5c-5.5 0-5.5 11 0 11v89.5h-11.5" marker-end="url(#a)" stroke="#a5a5a5" stroke-linecap="round" stroke-linejoin="round"/><path d="m1099 490v60h-274.5c0 5.5-11 5.5-11 0h-89c0 5.5-11 5.5-11 0h-135.25" marker-end="url(#a)" stroke="#a5a5a5" stroke-linecap="round" stroke-linejoin="round"/><path d="m1099 239.9v109.6" marker-start="url(#b)" stroke="#000" stroke-linecap="round" stroke-linejoin="round"/><path d="m919.0981 239.9-.0693 109.6" marker-start="url(#b)" stroke="#000" stroke-linecap="round" stroke-linejoin="round"/><path d="m259 80h310v410h-310z" fill="#fff"/><path d="m259 80h310v410h-310z" stroke="#a5a5a5" stroke-linecap="round" stroke-linejoin="round"/><path d="m259 610h310v70h-310z" fill="#fff"/><path d="m259 610h310v70h-310z" stroke="#a5a5a5" stroke-linecap="round" stroke-linejoin="round"/><path d="m259 690h310v40h-310z" fill="#fff"/><path d="m259 690h310v40h-310z" stroke="#a5a5a5" stroke-linecap="round" stroke-linejoin="round"/><path d="m259 500h310v100h-310z" fill="#fff"/><path d="m259 500h310v100h-310z" stroke="#a5a5a5" stroke-linecap="round" stroke-linejoin="round"/><path d="m719 129.6v-29.6h290v39.5" marker-start="url(#b)" stroke="#000" stroke-linecap="round" stroke-linejoin="round"/><path d="m849 140h320v90h-320z" fill="#ccc"/><path d="m849 140h320v90h-320z" stroke="#000" stroke-linecap="round" stroke-linejoin="round"/><text fill="#000" transform="translate(857 175.5)"><tspan fill="#000" font-family="SF Mono" font-size="16" font-weight="400" x="102.54688" y="15">background</tspan></text><path d="m849 350h140v90h-140z" fill="#ccc"/><path d="m849 350h140v90h-140z" stroke="#000" stroke-linecap="round" stroke-linejoin="round"/><text fill="#000" transform="translate(857 385.5)"><tspan fill="#000" font-family="SF Mono" font-size="16" font-weight="400" x="42.21875" y="15">shim</tspan></text><path d="m629 140h180v90h-180z" fill="#ccc"/><path d="m629 140h180v90h-180z" stroke="#000" stroke-linecap="round" stroke-linejoin="round"/><text fill="#000" transform="translate(637 175.5)"><tspan fill="#000" font-family="SF Mono" font-size="16" font-weight="400" x="52.328125" y="15">bridge</tspan></text><path d="m1029 350h140v90h-140z" fill="#ccc"/><path d="m1029 350h140v90h-140z" stroke="#000" stroke-linecap="round" stroke-linejoin="round"/><text fill="#000" transform="translate(1037 385.5)"><tspan fill="#000" font-family="SF Mono" font-size="16" font-weight="400" x="37.273438" y="15">popup</tspan></text><path d="m731.3576 80h270v40h-270z" fill="#fff"/><path d="m731.3576 80h270v40h-270z" stroke="#000" stroke-linecap="round" stroke-linejoin="round"/><text fill="#000" transform="translate(736.3576 85.832)"><tspan fill="#000" font-family="Helvetica Neue" font-size="12" font-weight="400" x="69.43" y="11">runtime.connectNative</tspan> <tspan fill="#000" font-family="SF Mono" font-size="12" font-weight="400" x="7.603516" y="25.336">{ application: “fx_cast_bridge” }</tspan></text><path d="m849 270h140v40h-140z" fill="#fff"/><path d="m849 270h140v40h-140z" stroke="#000" stroke-linecap="round" stroke-linejoin="round"/><text fill="#000" transform="translate(854 275.832)"><tspan fill="#000" font-family="Helvetica Neue" font-size="12" font-weight="400" x="21.428" y="11">runtime.connect</tspan> <tspan fill="#000" font-family="SF Mono" font-size="12" font-weight="400" x="5.65625" y="25.336">{ name: “shim” }</tspan></text><path d="m1029 270h140v40h-140z" fill="#fff"/><path d="m1029 270h140v40h-140z" stroke="#000" stroke-linecap="round" stroke-linejoin="round"/><text fill="#000" transform="translate(1034 275.832)"><tspan fill="#000" font-family="Helvetica Neue" font-size="12" font-weight="400" x="21.428" y="11">runtime.connect</tspan> <tspan fill="#000" font-family="SF Mono" font-size="12" font-weight="400" x="1.947266" y="25.336">{ name: “popup” }</tspan></text><path d="m998.9 395h10.1v75h180v-75h-20" marker-start="url(#b)" stroke="#000" stroke-linecap="round" stroke-linejoin="round"/><path d="m1029 450h140v40h-140z" fill="#fff"/><path d="m1029 450h140v40h-140z" stroke="#000" stroke-linecap="round" stroke-linejoin="round"/><text fill="#000" transform="translate(1034 455.832)"><tspan fill="#000" font-family="Helvetica Neue" font-size="12" font-weight="400" x="29.99" y="11">tabs.connect</tspan> <tspan fill="#000" font-family="SF Mono" font-size="12" font-weight="400" x="1.947266" y="25.336">{ name: “popup” }</tspan></text><text fill="#666" transform="translate(264 556.86)"><tspan fill="#666" font-family="Helvetica Neue" font-size="10" font-weight="400" x="0" y="10">INCOMING</tspan> <tspan fill="#000" font-family="SF Mono" font-size="10" font-weight="400" x="0" y="22.28">8) popup:/populateReceiverList</tspan> <tspan fill="#000" font-family="SF Mono" font-size="10" font-weight="400" x="0" y="34.28">10) popup:/close</tspan></text><text fill="#666" transform="translate(264 506.86)"><tspan fill="#666" font-family="Helvetica Neue" font-size="10" font-weight="400" x="0" y="10">OUTGOING</tspan> <tspan fill="#000" font-family="SF Mono" font-size="10" font-weight="400" x="0" y="22.28">9) shim:/selectReceiver</tspan> <tspan fill="#000" font-family="SF Mono" font-size="10" font-weight="400" x="0" y="34.28">7) shim:/popupReady</tspan></text><text fill="#666" transform="translate(264 645)"><tspan fill="#666" font-family="Helvetica Neue" font-size="10" font-weight="400" x="0" y="10">INCOMING</tspan> <tspan fill="#000" font-family="SF Mono" font-size="10" font-weight="400" x="0" y="22.28">1) shim:/initialized</tspan></text><text fill="#666" transform="translate(264 615)"><tspan fill="#666" font-family="Helvetica Neue" font-size="10" font-weight="400" x="0" y="10">OUTGOING</tspan> <tspan fill="#283450" y="10"/> <tspan fill="#000" font-family="SF Mono" font-size="10" font-weight="400" x="0" y="22.28">5) main:/openPopup</tspan></text><text fill="#666" transform="translate(264 695)"><tspan fill="#666" font-family="Helvetica Neue" font-size="10" font-weight="400" x="0" y="10">INCOMING</tspan> <tspan fill="#000" font-family="SF Mono" font-size="10" font-weight="400" x="0" y="22.28">6) popup:/assignShim</tspan></text><path d="m849 440h140v50h-140z" fill="#ebebeb"/><path d="m849 440h140v50h-140z" stroke="#000" stroke-linecap="round" stroke-linejoin="round"/><text fill="#000" transform="translate(857 448.5)"><tspan fill="#000" font-family="SF Mono" font-size="16" font-weight="400" x="27.382812" y="15">Session</tspan> <tspan fill="#000" font-family="SF Mono" font-size="12" font-weight="400" x="39.746094" y="30">(shim)</tspan></text><path d="m849 490h140v50h-140z" fill="#ebebeb"/><path d="m849 490h140v50h-140z" stroke="#000" stroke-linecap="round" stroke-linejoin="round"/><text fill="#000" transform="translate(857 498.5)"><tspan fill="#000" font-family="SF Mono" font-size="16" font-weight="400" x="37.273438" y="15">Media</tspan> <tspan fill="#000" font-family="SF Mono" font-size="12" font-weight="400" x="39.746094" y="30">(shim)</tspan></text><text fill="#666" transform="translate(264 301.86)"><tspan fill="#666" font-family="Helvetica Neue" font-size="10" font-weight="400" x="0" y="10">SESSION </tspan><tspan fill="#666" font-family="Helvetica Neue" font-size="8" font-weight="400" y="10">(SHIM)</tspan> <tspan fill="#000" font-family="SF Mono" font-size="10" font-weight="400" x="0" y="22.28">13) shim:/session/connected</tspan> <tspan fill="#000" font-family="SF Mono" font-size="10" font-weight="400" x="0" y="34.28">14) shim:/session/updateStatus</tspan> <tspan fill="#000" font-family="SF Mono" font-size="10" font-weight="400" x="0" y="46.28">22) shim:/session/impl_addMessageListener</tspan> <tspan fill="#000" font-family="SF Mono" font-size="10" font-weight="400" x="0" y="58.28">23) shim:/session/impl_sendMessage</tspan> <tspan fill="#000" font-family="SF Mono" font-size="10" font-weight="400" x="0" y="70.28">24) shim:/session/impl_setReceiverMuted</tspan> <tspan fill="#000" font-family="SF Mono" font-size="10" font-weight="400" x="0" y="82.28">25) shim:/session/impl_setReceiverVolumeLevel</tspan> <tspan fill="#000" font-family="SF Mono" font-size="10" font-weight="400" x="0" y="94.28">26) shim:/session/impl_stop</tspan></text><text fill="#666" transform="translate(264 86.86)"><tspan fill="#666" font-family="Helvetica Neue" font-size="10" font-weight="400" x="0" y="10">BRIDGE</tspan> <tspan fill="#000" font-family="SF Mono" font-size="10" font-weight="400" x="0" y="22.28">2) bridge:/startDiscovery</tspan> <tspan fill="#000" font-family="SF Mono" font-size="10" font-weight="400" x="0" y="34.28">11) bridge:/session/initialize</tspan> <tspan fill="#000" font-family="SF Mono" font-size="10" font-weight="400" x="0" y="46.28">12) bridge:/session/close</tspan> <tspan fill="#000" font-family="SF Mono" font-size="10" font-weight="400" x="0" y="58.28">15) bridge:/session/impl_addMessageListener</tspan> <tspan fill="#000" font-family="SF Mono" font-size="10" font-weight="400" x="0" y="70.28">16) bridge:/session/impl_sendMessage</tspan> <tspan fill="#000" font-family="SF Mono" font-size="10" font-weight="400" x="0" y="82.28">17) bridge:/session/impl_setReceiverMuted</tspan> <tspan fill="#000" font-family="SF Mono" font-size="10" font-weight="400" x="0" y="94.28">18) bridge:/session/impl_setReceiverVolumeLevel</tspan> <tspan fill="#000" font-family="SF Mono" font-size="10" font-weight="400" x="0" y="106.28">19) bridge:/session/impl_stop</tspan> <tspan fill="#000" font-family="SF Mono" font-size="10" font-weight="400" x="0" y="118.28">20) bridge:/media/initialize</tspan> <tspan fill="#000" font-family="SF Mono" font-size="10" font-weight="400" x="0" y="130.28">21) bridge:/media/sendMediaMessage</tspan> <tspan fill="#000" font-family="SF Mono" font-size="10" font-weight="400" x="0" y="142.28">29) bridge:/startHttpServer</tspan> <tspan fill="#000" font-family="SF Mono" font-size="10" font-weight="400" x="0" y="154.28">30) bridge:/stopHttpServer</tspan></text><text fill="#666" transform="translate(264 406.86)"><tspan fill="#666" font-family="Helvetica Neue" font-size="10" font-weight="400" x="0" y="10">MEDIA </tspan><tspan fill="#666" font-family="Helvetica Neue" font-size="8" font-weight="400" y="10">(SHIM)</tspan> <tspan fill="#000" font-family="SF Mono" font-size="10" font-weight="400" x="0" y="22.28">27) shim:/media/sendMediaMessageResponse</tspan> <tspan fill="#000" font-family="SF Mono" font-size="10" font-weight="400" x="0" y="34.28">28) shim:/media/update</tspan></text><text fill="#666" transform="translate(264 256.86)"><tspan fill="#666" font-family="Helvetica Neue" font-size="10" font-weight="400" x="0" y="10">SHIM</tspan> <tspan fill="#000" font-family="SF Mono" font-size="10" font-weight="400" x="0" y="22.28">3) shim:/serviceUp</tspan> <tspan fill="#000" font-family="SF Mono" font-size="10" font-weight="400" x="0" y="34.28">4) shim:/serviceDown</tspan></text><path d="m849 580h140v90h-140z" fill="#ccc"/><path d="m849 580h140v90h-140z" stroke="#000" stroke-linecap="round" stroke-linejoin="round"/><text fill="#000" transform="translate(857 615.5)"><tspan fill="#000" font-family="SF Mono" font-size="16" font-weight="400" x="17.492188" y="15">mediaCast</tspan></text><path d="m849 690h140v90h-140z" fill="#ccc"/><path d="m849 690h140v90h-140z" stroke="#000" stroke-linecap="round" stroke-linejoin="round"/><text fill="#000" transform="translate(857 725.5)"><tspan fill="#000" font-family="SF Mono" font-size="16" font-weight="400" x="12.546875" y="15">mirrorCast</tspan></text><text fill="#666" transform="translate(264 457.86)"><tspan fill="#666" font-family="Helvetica Neue" font-size="10" font-weight="400" x="0" y="10">MEDIACAST</tspan> <tspan fill="#000" font-family="SF Mono" font-size="10" font-weight="400" x="0" y="22.28">31) mediaCast:/httpServerStarted</tspan></text><path d="m629 350h180v90h-180z" fill="#ccc"/><path d="m629 350h180v90h-180z" stroke="#000" stroke-linecap="round" stroke-linejoin="round"/><text fill="#000" transform="translate(637 385.5)"><tspan fill="#000" font-family="SF Mono" font-size="16" font-weight="400" x="47.38281" y="15">options</tspan></text><path d="m629 580h180v90h-180z" fill="#ccc"/><path d="m629 580h180v90h-180z" stroke="#000" stroke-linecap="round" stroke-linejoin="round"/><text fill="#000" transform="translate(637 615.5)"><tspan fill="#000" font-family="SF Mono" font-size="16" font-weight="400" x="47.38281" y="15">updater</tspan></text><path d="m719 580v-130.1" marker-end="url(#c)" stroke="#000" stroke-linecap="round" stroke-linejoin="round"/><path d="m629 490h180v40h-180z" fill="#fff"/><path d="m629 490h180v40h-180z" stroke="#000" stroke-linecap="round" stroke-linejoin="round"/><text fill="#000" transform="translate(634 495.832)"><tspan fill="#000" font-family="Helvetica Neue" font-size="12" font-weight="400" x="41.428" y="11">runtime.connect</tspan> <tspan fill="#000" font-family="SF Mono" font-size="12" font-weight="400" x="14.529297" y="25.336">{ name: “updater” }</tspan></text><path d="m259 740h310v40h-310z" fill="#fff"/><path d="m259 740h310v40h-310z" stroke="#a5a5a5" stroke-linecap="round" stroke-linejoin="round"/><text fill="#666" transform="translate(264 745)"><tspan fill="#666" font-family="Helvetica Neue" font-size="10" font-weight="400" x="0" y="10">INCOMING</tspan> <tspan fill="#000" font-family="SF Mono" font-size="10" font-weight="400" x="0" y="22.28">32) updater:/updateData</tspan></text><path d="m629 270h180v40h-180z" fill="#fff"/><path d="m629 270h180v40h-180z" stroke="#000" stroke-linecap="round" stroke-linejoin="round"/><text fill="#000" transform="translate(634 282.832)"><tspan fill="#000" font-family="Helvetica Neue" font-size="12" font-weight="400" x="35.554" y="11">Proxied Messages</tspan></text><g stroke-linecap="round" stroke-linejoin="round"><path d="m611.1 185h-12.1v105h30" marker-start="url(#d)" stroke="#000"/><path d="m809 292.77355c2.0903 3.20421 9.0576 3.83645 10-.48225v102.7087h12.1" marker-end="url(#e)" stroke="#000"/><path d="m809 292.77355c2.0903 3.20421 9.0576 3.83645 10-.48225v172.7087h12.1" marker-end="url(#e)" stroke="#000"/><path d="m809 292.77355c2.0903 3.20421 9.0576 3.83645 10-.48225v222.7087h12.1" marker-end="url(#e)" stroke="#000"/><path d="m809 290h10v335h12.1" marker-end="url(#e)" stroke="#000"/><path d="m809 290h10v445h12.1" marker-end="url(#e)" stroke="#000"/><path d="m719 310v10h-140.75" marker-end="url(#a)" stroke="#a5a5a5"/></g></g></svg>