Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoakim Erdfelt2012-07-16 18:58:27 +0000
committerJoakim Erdfelt2012-07-16 18:58:27 +0000
commit851b53ec3aee233268392b5a0e8140e117fa8873 (patch)
tree6015eed1ca053146bf0ff1ab1124de321d513f26 /jetty-websocket
parent1381ee4eebe71a584529e77b39029f781a7e035a (diff)
downloadorg.eclipse.jetty.project-851b53ec3aee233268392b5a0e8140e117fa8873.tar.gz
org.eclipse.jetty.project-851b53ec3aee233268392b5a0e8140e117fa8873.tar.xz
org.eclipse.jetty.project-851b53ec3aee233268392b5a0e8140e117fa8873.zip
Adding diagrams to javadoc about communications stack (and extensions)
Diffstat (limited to 'jetty-websocket')
-rw-r--r--jetty-websocket/websocket-core/src/main/javadoc/org/eclipse/jetty/websocket/doc-files/websocket-stack-extensions.pngbin0 -> 70072 bytes
-rw-r--r--jetty-websocket/websocket-core/src/main/javadoc/org/eclipse/jetty/websocket/doc-files/websocket-stack-extensions.svg428
-rw-r--r--jetty-websocket/websocket-core/src/main/javadoc/org/eclipse/jetty/websocket/doc-files/websocket-stack-mux-extensions.pngbin0 -> 91090 bytes
-rw-r--r--jetty-websocket/websocket-core/src/main/javadoc/org/eclipse/jetty/websocket/doc-files/websocket-stack-mux-extensions.svg600
-rw-r--r--jetty-websocket/websocket-core/src/main/javadoc/org/eclipse/jetty/websocket/doc-files/websocket-stack-mux-sub-extensions.pngbin0 -> 104526 bytes
-rw-r--r--jetty-websocket/websocket-core/src/main/javadoc/org/eclipse/jetty/websocket/doc-files/websocket-stack-mux-sub-extensions.svg680
-rw-r--r--jetty-websocket/websocket-core/src/main/javadoc/org/eclipse/jetty/websocket/doc-files/websocket-stack-simple.pngbin0 -> 58996 bytes
-rw-r--r--jetty-websocket/websocket-core/src/main/javadoc/org/eclipse/jetty/websocket/doc-files/websocket-stack-simple.svg371
8 files changed, 2079 insertions, 0 deletions
diff --git a/jetty-websocket/websocket-core/src/main/javadoc/org/eclipse/jetty/websocket/doc-files/websocket-stack-extensions.png b/jetty-websocket/websocket-core/src/main/javadoc/org/eclipse/jetty/websocket/doc-files/websocket-stack-extensions.png
new file mode 100644
index 0000000000..eb6e1d59a2
--- /dev/null
+++ b/jetty-websocket/websocket-core/src/main/javadoc/org/eclipse/jetty/websocket/doc-files/websocket-stack-extensions.png
Binary files differ
diff --git a/jetty-websocket/websocket-core/src/main/javadoc/org/eclipse/jetty/websocket/doc-files/websocket-stack-extensions.svg b/jetty-websocket/websocket-core/src/main/javadoc/org/eclipse/jetty/websocket/doc-files/websocket-stack-extensions.svg
new file mode 100644
index 0000000000..74be84058b
--- /dev/null
+++ b/jetty-websocket/websocket-core/src/main/javadoc/org/eclipse/jetty/websocket/doc-files/websocket-stack-extensions.svg
@@ -0,0 +1,428 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="645"
+ height="350"
+ id="svg2"
+ version="1.1"
+ inkscape:version="0.48.2 r9819"
+ sodipodi:docname="websocket-stack-extensions.svg"
+ inkscape:export-filename="/home/joakim/code/intalio/org.eclipse.jetty9.project/jetty-websocket/websocket-core/src/main/javadoc/org/eclipse/jetty/websocket/doc-files/websocket-stack-extensions.png"
+ inkscape:export-xdpi="111.63"
+ inkscape:export-ydpi="111.63">
+ <defs
+ id="defs4" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="2.2589147"
+ inkscape:cx="322.5"
+ inkscape:cy="175"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer2"
+ showgrid="true"
+ inkscape:window-width="1920"
+ inkscape:window-height="1027"
+ inkscape:window-x="0"
+ inkscape:window-y="26"
+ inkscape:window-maximized="1"
+ showguides="true"
+ inkscape:guide-bbox="true"
+ borderlayer="true">
+ <inkscape:grid
+ type="xygrid"
+ id="grid3006"
+ empspacing="5"
+ dotted="true"
+ visible="true"
+ enabled="true"
+ snapvisiblegridlinesonly="true"
+ spacingx="5px"
+ spacingy="5px" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:groupmode="layer"
+ id="layer2"
+ inkscape:label="Background"
+ sodipodi:insensitive="true">
+ <rect
+ style="fill:#ffffff;fill-opacity:1;stroke:none"
+ id="rect3046"
+ width="645"
+ height="350"
+ x="9.2142858e-07"
+ y="5.0000006e-07" />
+ </g>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(0,-702.36218)">
+ <g
+ id="g3821"
+ transform="translate(3.8146973e-6,225)">
+ <rect
+ y="757.36218"
+ x="40"
+ height="45.000004"
+ width="560"
+ id="rect3977"
+ style="fill:#e7e7e7;fill-opacity:1;stroke:none" />
+ <rect
+ style="fill:#d1d1d1;fill-opacity:1;stroke:none"
+ id="rect3975"
+ width="560"
+ height="170"
+ x="40"
+ y="587.36218" />
+ <rect
+ y="502.36218"
+ x="49.999996"
+ height="25.000031"
+ width="400"
+ id="rect3008"
+ style="fill:#caf3f6;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-opacity:1" />
+ <text
+ sodipodi:linespacing="125%"
+ id="text3778"
+ y="518.72449"
+ x="249.91454"
+ style="font-size:14px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="518.72449"
+ x="249.91454"
+ id="tspan3780"
+ sodipodi:role="line">Physical Connection</tspan></text>
+ <rect
+ y="537.36218"
+ x="40"
+ height="50"
+ width="560"
+ id="rect3973"
+ style="fill:#bdbdbd;fill-opacity:1;stroke:none" />
+ <rect
+ style="fill:#caf3f6;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-opacity:1"
+ id="rect3797"
+ width="400"
+ height="25"
+ x="49.999996"
+ y="527.36218" />
+ <text
+ xml:space="preserve"
+ style="font-size:14px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="249.91455"
+ y="543.72449"
+ id="text3799"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3801"
+ x="249.91455"
+ y="543.72449">AsyncEndPoint</tspan></text>
+ <rect
+ y="552.36218"
+ x="49.999996"
+ height="24.999996"
+ width="400"
+ id="rect3805"
+ style="fill:#caf3f6;fill-opacity:1;stroke:#000000;stroke-width:0.99999994;stroke-opacity:1" />
+ <text
+ sodipodi:linespacing="125%"
+ id="text3807"
+ y="568.72449"
+ x="249.91455"
+ style="font-size:14px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="568.72449"
+ x="249.91455"
+ id="tspan3809"
+ sodipodi:role="line">WebSocketAsyncConnection</tspan></text>
+ <path
+ sodipodi:nodetypes="cc"
+ inkscape:connector-curvature="0"
+ id="path3999"
+ d="m 25,587.36218 595,0"
+ style="fill:none;stroke:#858585;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:4, 1;stroke-dashoffset:0" />
+ <rect
+ style="fill:#caf3f6;fill-opacity:1;stroke:#000000;stroke-width:0.99999994;stroke-opacity:1"
+ id="rect3786"
+ width="200"
+ height="25"
+ x="49.999996"
+ y="577.36218" />
+ <text
+ xml:space="preserve"
+ style="font-size:14px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="149.31982"
+ y="594.86609"
+ id="text3815"
+ sodipodi:linespacing="125%"><tspan
+ id="tspan3822"
+ sodipodi:role="line"
+ x="149.31982"
+ y="594.86609">Parser</tspan></text>
+ <rect
+ y="577.36218"
+ x="250"
+ height="25"
+ width="200"
+ id="rect3788"
+ style="fill:#caf3f6;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-opacity:1" />
+ <text
+ sodipodi:linespacing="125%"
+ id="text3826"
+ y="594.95837"
+ x="314.03955"
+ style="font-size:14px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ id="tspan3830"
+ y="594.95837"
+ x="314.03955"
+ sodipodi:role="line">Generator</tspan></text>
+ <rect
+ style="fill:#caf3f6;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-opacity:1"
+ id="rect3849"
+ width="400"
+ height="25"
+ x="49.999996"
+ y="717.36218" />
+ <text
+ xml:space="preserve"
+ style="font-size:14px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="249.91455"
+ y="733.72449"
+ id="text3851"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3853"
+ x="249.91455"
+ y="733.72449">WebSocketSession</tspan></text>
+ <rect
+ style="fill:#caf3f6;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-opacity:1"
+ id="rect3865"
+ width="400"
+ height="25"
+ x="49.999996"
+ y="767.36218" />
+ <text
+ xml:space="preserve"
+ style="font-size:14px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="249.91455"
+ y="783.72449"
+ id="text3867"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3869"
+ x="249.91455"
+ y="783.72449">WebSocket POJO</tspan></text>
+ <path
+ style="fill:none;stroke:#858585;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:4, 1;stroke-dashoffset:0"
+ d="m 25,757.36218 595,0"
+ id="path4004"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cc" />
+ <g
+ transform="translate(3.8146973e-6,89.999995)"
+ id="g3898">
+ <rect
+ style="fill:#caf3f6;fill-opacity:1;stroke:#000000;stroke-width:0.99999994;stroke-opacity:1"
+ id="rect3881"
+ width="200"
+ height="25"
+ x="49.999996"
+ y="652.36218" />
+ <text
+ xml:space="preserve"
+ style="font-size:14px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="149.77441"
+ y="670.08142"
+ id="text3883"
+ sodipodi:linespacing="125%"><tspan
+ id="tspan3885"
+ sodipodi:role="line"
+ x="149.77441"
+ y="670.08142">WebSocketEventDriver</tspan></text>
+ </g>
+ <g
+ id="g3903"
+ transform="translate(200,89.999995)">
+ <rect
+ y="652.36218"
+ x="49.999996"
+ height="25"
+ width="200"
+ id="rect3905"
+ style="fill:#caf3f6;fill-opacity:1;stroke:#000000;stroke-width:0.99999994;stroke-opacity:1" />
+ <text
+ sodipodi:linespacing="125%"
+ id="text3907"
+ y="670.08142"
+ x="149.77441"
+ style="font-size:14px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="670.08142"
+ x="149.77441"
+ sodipodi:role="line"
+ id="tspan3909">WebSocketConnection</tspan></text>
+ </g>
+ <text
+ sodipodi:linespacing="125%"
+ id="text3979"
+ y="552.36218"
+ x="485"
+ style="font-size:12px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="552.36218"
+ x="485"
+ id="tspan3981"
+ sodipodi:role="line">Network</tspan><tspan
+ id="tspan3983"
+ y="567.36218"
+ x="485"
+ sodipodi:role="line">ByteBuffers</tspan></text>
+ <text
+ sodipodi:linespacing="125%"
+ id="text3985"
+ y="602.36218"
+ x="485"
+ style="font-size:12px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="602.36218"
+ x="485"
+ id="tspan3987"
+ sodipodi:role="line">Internal</tspan><tspan
+ id="tspan3989"
+ y="617.36218"
+ x="485"
+ sodipodi:role="line">WebSocketFrame</tspan></text>
+ <text
+ sodipodi:linespacing="125%"
+ id="text3991"
+ y="772.36218"
+ x="485"
+ style="font-size:12px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="772.36218"
+ x="485"
+ id="tspan3993"
+ sodipodi:role="line">Message</tspan><tspan
+ id="tspan3995"
+ y="787.36218"
+ x="485"
+ sodipodi:role="line">Text or Binary</tspan></text>
+ <rect
+ y="617.36218"
+ x="50"
+ height="25"
+ width="400"
+ id="rect3035"
+ style="fill:#eef6ca;fill-opacity:1;stroke:#8e933c;stroke-width:1;stroke-opacity:1" />
+ <text
+ sodipodi:linespacing="125%"
+ id="text3805"
+ y="633.72449"
+ x="249.91455"
+ style="font-size:14px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="633.72449"
+ x="249.91455"
+ id="tspan3807"
+ sodipodi:role="line">Identity Extension</tspan></text>
+ <rect
+ style="fill:#eef6ca;fill-opacity:1;stroke:#8e933c;stroke-width:1;stroke-opacity:1"
+ id="rect3809"
+ width="400"
+ height="25"
+ x="50.085449"
+ y="640.99988" />
+ <text
+ xml:space="preserve"
+ style="font-size:14px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="250"
+ y="657.36218"
+ id="text3811"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3813"
+ x="250"
+ y="657.36218">Deflate Extension</tspan></text>
+ <rect
+ y="665.99988"
+ x="50.085449"
+ height="25"
+ width="400"
+ id="rect3815"
+ style="fill:#eef6ca;fill-opacity:1;stroke:#8e933c;stroke-width:1;stroke-opacity:1" />
+ <text
+ sodipodi:linespacing="125%"
+ id="text3817"
+ y="682.36218"
+ x="250"
+ style="font-size:14px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="682.36218"
+ x="250"
+ id="tspan3819"
+ sodipodi:role="line">Fragment Extension</tspan></text>
+ <path
+ id="rect3934"
+ transform="translate(0,452.36218)"
+ d="m 75,140 0,137.3125 -7.65625,0 L 85,295 102.6875,277.3125 95,277.3125 95,140 75,140 z"
+ style="fill:#f7d1d1;fill-opacity:1;stroke:#dd9191;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ inkscape:connector-curvature="0" />
+ <text
+ transform="matrix(0,1,-1,0,0,0)"
+ sodipodi:linespacing="125%"
+ id="text3948"
+ y="-81.15332"
+ x="597.36218"
+ style="font-size:14px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="-81.15332"
+ x="597.36218"
+ id="tspan3950"
+ sodipodi:role="line">IncomingFrames</tspan></text>
+ <path
+ id="rect3954"
+ transform="translate(0,452.36218)"
+ d="m 420,140 -17.6875,17.6875 7.6875,0 0,117.3125 20,0 0,-117.3125 7.65625,0 L 420,140 z"
+ style="fill:#f7d1d1;fill-opacity:1;stroke:#dd9191;stroke-width:0.99999994;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ inkscape:connector-curvature="0" />
+ <text
+ xml:space="preserve"
+ style="font-size:14px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="-717.64636"
+ y="423.84668"
+ id="text3969"
+ sodipodi:linespacing="125%"
+ transform="matrix(0,-1,1,0,0,0)"><tspan
+ sodipodi:role="line"
+ id="tspan3971"
+ x="-717.64636"
+ y="423.84668">OutgoingFrames</tspan></text>
+ </g>
+ </g>
+</svg>
diff --git a/jetty-websocket/websocket-core/src/main/javadoc/org/eclipse/jetty/websocket/doc-files/websocket-stack-mux-extensions.png b/jetty-websocket/websocket-core/src/main/javadoc/org/eclipse/jetty/websocket/doc-files/websocket-stack-mux-extensions.png
new file mode 100644
index 0000000000..090eefccf2
--- /dev/null
+++ b/jetty-websocket/websocket-core/src/main/javadoc/org/eclipse/jetty/websocket/doc-files/websocket-stack-mux-extensions.png
Binary files differ
diff --git a/jetty-websocket/websocket-core/src/main/javadoc/org/eclipse/jetty/websocket/doc-files/websocket-stack-mux-extensions.svg b/jetty-websocket/websocket-core/src/main/javadoc/org/eclipse/jetty/websocket/doc-files/websocket-stack-mux-extensions.svg
new file mode 100644
index 0000000000..13f3dc72e5
--- /dev/null
+++ b/jetty-websocket/websocket-core/src/main/javadoc/org/eclipse/jetty/websocket/doc-files/websocket-stack-mux-extensions.svg
@@ -0,0 +1,600 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="645"
+ height="430"
+ id="svg2"
+ version="1.1"
+ inkscape:version="0.48.2 r9819"
+ sodipodi:docname="websocket-stack-mux-extensions.svg"
+ inkscape:export-filename="/home/joakim/code/intalio/org.eclipse.jetty9.project/jetty-websocket/websocket-core/src/main/javadoc/org/eclipse/jetty/websocket/doc-files/websocket-stack-mux-extensions.png"
+ inkscape:export-xdpi="111.63"
+ inkscape:export-ydpi="111.63">
+ <defs
+ id="defs4" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="2.0302326"
+ inkscape:cx="322.49999"
+ inkscape:cy="215"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ inkscape:window-width="1920"
+ inkscape:window-height="1027"
+ inkscape:window-x="0"
+ inkscape:window-y="26"
+ inkscape:window-maximized="1"
+ showguides="true"
+ inkscape:guide-bbox="true"
+ borderlayer="true">
+ <inkscape:grid
+ type="xygrid"
+ id="grid3006"
+ empspacing="5"
+ dotted="true"
+ visible="true"
+ enabled="true"
+ snapvisiblegridlinesonly="true"
+ spacingx="5px"
+ spacingy="5px" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:groupmode="layer"
+ id="layer2"
+ inkscape:label="Background"
+ sodipodi:insensitive="true">
+ <rect
+ style="fill:#ffffff;fill-opacity:1;stroke:none"
+ id="rect3077"
+ width="645"
+ height="430"
+ x="0"
+ y="0" />
+ </g>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(0,-622.36218)">
+ <g
+ id="g3089"
+ transform="translate(-3.8146973e-6,-80.000003)">
+ <rect
+ y="1062.3622"
+ x="40.000004"
+ height="45.000004"
+ width="560"
+ id="rect3977"
+ style="fill:#e7e7e7;fill-opacity:1;stroke:none" />
+ <rect
+ style="fill:#d1d1d1;fill-opacity:1;stroke:none"
+ id="rect3975"
+ width="560"
+ height="250"
+ x="40.000004"
+ y="812.36218" />
+ <rect
+ y="727.36218"
+ x="50"
+ height="25.000031"
+ width="400"
+ id="rect3008"
+ style="fill:#caf3f6;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-opacity:1" />
+ <text
+ sodipodi:linespacing="125%"
+ id="text3778"
+ y="743.72449"
+ x="249.91454"
+ style="font-size:14px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="743.72449"
+ x="249.91454"
+ id="tspan3780"
+ sodipodi:role="line">Physical Connection</tspan></text>
+ <rect
+ y="762.36218"
+ x="40.000004"
+ height="50"
+ width="560"
+ id="rect3973"
+ style="fill:#bdbdbd;fill-opacity:1;stroke:none" />
+ <rect
+ style="fill:#caf3f6;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-opacity:1"
+ id="rect3797"
+ width="400"
+ height="25"
+ x="50"
+ y="752.36218" />
+ <text
+ xml:space="preserve"
+ style="font-size:14px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="249.91455"
+ y="768.72449"
+ id="text3799"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3801"
+ x="249.91455"
+ y="768.72449">AsyncEndPoint</tspan></text>
+ <rect
+ y="777.36218"
+ x="50"
+ height="24.999996"
+ width="400"
+ id="rect3805"
+ style="fill:#caf3f6;fill-opacity:1;stroke:#000000;stroke-width:0.99999994;stroke-opacity:1" />
+ <text
+ sodipodi:linespacing="125%"
+ id="text3807"
+ y="793.72449"
+ x="249.91455"
+ style="font-size:14px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="793.72449"
+ x="249.91455"
+ id="tspan3809"
+ sodipodi:role="line">WebSocketAsyncConnection</tspan></text>
+ <path
+ sodipodi:nodetypes="cc"
+ inkscape:connector-curvature="0"
+ id="path3999"
+ d="m 25.000004,812.36218 594.999996,0"
+ style="fill:none;stroke:#858585;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:4, 1;stroke-dashoffset:0" />
+ <rect
+ style="fill:#caf3f6;fill-opacity:1;stroke:#000000;stroke-width:0.99999994;stroke-opacity:1"
+ id="rect3786"
+ width="200"
+ height="25"
+ x="50"
+ y="802.36218" />
+ <text
+ xml:space="preserve"
+ style="font-size:14px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="149.31982"
+ y="819.86609"
+ id="text3815"
+ sodipodi:linespacing="125%"><tspan
+ id="tspan3822"
+ sodipodi:role="line"
+ x="149.31982"
+ y="819.86609">Parser</tspan></text>
+ <rect
+ y="802.36218"
+ x="250"
+ height="25"
+ width="200"
+ id="rect3788"
+ style="fill:#caf3f6;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-opacity:1" />
+ <text
+ sodipodi:linespacing="125%"
+ id="text3826"
+ y="819.95837"
+ x="314.03955"
+ style="font-size:14px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ id="tspan3830"
+ y="819.95837"
+ x="314.03955"
+ sodipodi:role="line">Generator</tspan></text>
+ <path
+ style="fill:none;stroke:#858585;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:4, 1;stroke-dashoffset:0"
+ d="m 25.000004,1062.3622 594.999996,0"
+ id="path4004"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cc" />
+ <text
+ sodipodi:linespacing="125%"
+ id="text3979"
+ y="777.36218"
+ x="485"
+ style="font-size:12px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="777.36218"
+ x="485"
+ id="tspan3981"
+ sodipodi:role="line">Network</tspan><tspan
+ id="tspan3983"
+ y="792.36218"
+ x="485"
+ sodipodi:role="line">ByteBuffers</tspan></text>
+ <text
+ sodipodi:linespacing="125%"
+ id="text3985"
+ y="827.36218"
+ x="485"
+ style="font-size:12px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="827.36218"
+ x="485"
+ id="tspan3987"
+ sodipodi:role="line">Internal</tspan><tspan
+ id="tspan3989"
+ y="842.36218"
+ x="485"
+ sodipodi:role="line">WebSocketFrame</tspan></text>
+ <text
+ sodipodi:linespacing="125%"
+ id="text3991"
+ y="1077.3622"
+ x="485"
+ style="font-size:12px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="1077.3622"
+ x="485"
+ id="tspan3993"
+ sodipodi:role="line">Message</tspan><tspan
+ id="tspan3995"
+ y="1092.3622"
+ x="485"
+ sodipodi:role="line">Text or Binary</tspan></text>
+ <rect
+ y="842.36218"
+ x="50"
+ height="25"
+ width="400"
+ id="rect3035"
+ style="fill:#eef6ca;fill-opacity:1;stroke:#8e933c;stroke-width:1;stroke-opacity:1" />
+ <text
+ sodipodi:linespacing="125%"
+ id="text3805"
+ y="858.72449"
+ x="249.91455"
+ style="font-size:14px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="858.72449"
+ x="249.91455"
+ id="tspan3807"
+ sodipodi:role="line">Identity Extension</tspan></text>
+ <rect
+ style="fill:#eef6ca;fill-opacity:1;stroke:#8e933c;stroke-width:1;stroke-opacity:1"
+ id="rect3809"
+ width="400"
+ height="25"
+ x="50"
+ y="867.36218" />
+ <text
+ xml:space="preserve"
+ style="font-size:14px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="250"
+ y="885.08142"
+ id="text3811"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3813"
+ x="250"
+ y="885.08142">Deflate Extension</tspan></text>
+ <rect
+ y="892.36218"
+ x="50"
+ height="25"
+ width="400"
+ id="rect3815"
+ style="fill:#eef6ca;fill-opacity:1;stroke:#8e933c;stroke-width:1;stroke-opacity:1" />
+ <text
+ sodipodi:linespacing="125%"
+ id="text3817"
+ y="908.72449"
+ x="250"
+ style="font-size:14px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="908.72449"
+ x="250"
+ id="tspan3819"
+ sodipodi:role="line">Fragment Extension</tspan></text>
+ <g
+ transform="translate(10,-10.000003)"
+ id="g3115">
+ <rect
+ y="1032.3622"
+ x="50"
+ height="25"
+ width="180"
+ id="rect3849"
+ style="fill:#caf3f6;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-opacity:1" />
+ <text
+ sodipodi:linespacing="125%"
+ id="text3851"
+ y="1049.3358"
+ x="140.31641"
+ style="font-size:12px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="1049.3358"
+ x="140.31641"
+ id="tspan3853"
+ sodipodi:role="line">WebSocketSession</tspan></text>
+ <rect
+ y="1082.3622"
+ x="50"
+ height="25"
+ width="180"
+ id="rect3865"
+ style="fill:#caf3f6;fill-opacity:1;stroke:#000000;stroke-width:0.99999994;stroke-opacity:1" />
+ <text
+ sodipodi:linespacing="125%"
+ id="text3867"
+ y="1097.3622"
+ x="140.1377"
+ style="font-size:12px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="1097.3622"
+ x="140.1377"
+ id="tspan3869"
+ sodipodi:role="line">WebSocket POJO</tspan></text>
+ <rect
+ style="fill:#caf3f6;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-opacity:1"
+ id="rect3881"
+ width="80"
+ height="25"
+ x="50.000004"
+ y="1057.3622" />
+ <text
+ xml:space="preserve"
+ style="font-size:12px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="89.806641"
+ y="1074.3358"
+ id="text3883"
+ sodipodi:linespacing="125%"><tspan
+ id="tspan3885"
+ sodipodi:role="line"
+ x="89.806641"
+ y="1074.3358">WSEDriver</tspan></text>
+ <rect
+ y="1057.3622"
+ x="130"
+ height="25"
+ width="100"
+ id="rect3905"
+ style="fill:#caf3f6;fill-opacity:1;stroke:#000000;stroke-width:0.99999988;stroke-opacity:1" />
+ <text
+ sodipodi:linespacing="125%"
+ id="text3907"
+ y="1074.3358"
+ x="180.31641"
+ style="font-size:12px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="1074.3358"
+ x="180.31641"
+ sodipodi:role="line"
+ id="tspan3909">WSConnection</tspan></text>
+ <rect
+ style="fill:#caf3f6;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-opacity:1"
+ id="rect3103"
+ width="180"
+ height="25"
+ x="50"
+ y="1007.3622" />
+ <text
+ xml:space="preserve"
+ style="font-size:12px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="139.92969"
+ y="1023.6298"
+ id="text3105"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3107"
+ x="139.92969"
+ y="1023.6298">MuxConnection[1]</tspan></text>
+ </g>
+ <g
+ transform="translate(210,-10.000003)"
+ id="g3132">
+ <rect
+ style="fill:#caf3f6;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-opacity:1"
+ id="rect3134"
+ width="180"
+ height="25"
+ x="50"
+ y="1032.3622" />
+ <text
+ xml:space="preserve"
+ style="font-size:12px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="140.31641"
+ y="1049.3358"
+ id="text3136"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3138"
+ x="140.31641"
+ y="1049.3358">WebSocketSession</tspan></text>
+ <rect
+ style="fill:#caf3f6;fill-opacity:1;stroke:#000000;stroke-width:0.99999994;stroke-opacity:1"
+ id="rect3140"
+ width="180"
+ height="25"
+ x="50"
+ y="1082.3622" />
+ <text
+ xml:space="preserve"
+ style="font-size:12px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="140.1377"
+ y="1097.3622"
+ id="text3142"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3144"
+ x="140.1377"
+ y="1097.3622">WebSocket POJO</tspan></text>
+ <rect
+ y="1057.3622"
+ x="50.000004"
+ height="25"
+ width="80"
+ id="rect3146"
+ style="fill:#caf3f6;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-opacity:1" />
+ <text
+ sodipodi:linespacing="125%"
+ id="text3148"
+ y="1074.3358"
+ x="89.806641"
+ style="font-size:12px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="1074.3358"
+ x="89.806641"
+ sodipodi:role="line"
+ id="tspan3150">WSEDriver</tspan></text>
+ <rect
+ style="fill:#caf3f6;fill-opacity:1;stroke:#000000;stroke-width:0.99999988;stroke-opacity:1"
+ id="rect3152"
+ width="100"
+ height="25"
+ x="130"
+ y="1057.3622" />
+ <text
+ xml:space="preserve"
+ style="font-size:12px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="180.31641"
+ y="1074.3358"
+ id="text3154"
+ sodipodi:linespacing="125%"><tspan
+ id="tspan3156"
+ sodipodi:role="line"
+ x="180.31641"
+ y="1074.3358">WSConnection</tspan></text>
+ <rect
+ y="1007.3622"
+ x="50"
+ height="25"
+ width="180"
+ id="rect3158"
+ style="fill:#caf3f6;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-opacity:1" />
+ <text
+ sodipodi:linespacing="125%"
+ id="text3160"
+ y="1023.6298"
+ x="139.92969"
+ style="font-size:12px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="1023.6298"
+ x="139.92969"
+ id="tspan3162"
+ sodipodi:role="line">MuxConnection[1]</tspan></text>
+ </g>
+ <rect
+ style="fill:#eef6ca;fill-opacity:1;stroke:#8e933c;stroke-width:1;stroke-opacity:1"
+ id="rect3164"
+ width="400"
+ height="29.999998"
+ x="50"
+ y="917.36218" />
+ <text
+ xml:space="preserve"
+ style="font-size:14px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="249.91455"
+ y="933.72449"
+ id="text3166"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3168"
+ x="249.91455"
+ y="933.72449">Mux Extension</tspan></text>
+ <rect
+ y="942.36218"
+ x="55"
+ height="39.999996"
+ width="390"
+ id="rect3170"
+ style="fill:#e1efa3;fill-opacity:1;stroke:#8e933c;stroke-width:0.99999988;stroke-opacity:1" />
+ <path
+ id="rect3954"
+ d="m 420,817.36218 -17.6875,17.6875 7.6875,0 0,117.3125 20,0 0,-117.3125 7.65625,0 L 420,817.36218 z"
+ style="fill:#f7d1d1;fill-opacity:1;stroke:#dd9191;stroke-width:0.99999994;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ inkscape:connector-curvature="0" />
+ <text
+ sodipodi:linespacing="125%"
+ id="text3940"
+ y="960.08142"
+ x="255"
+ style="font-size:14px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="960.08142"
+ x="255"
+ id="tspan3942"
+ sodipodi:role="line">MuxChannels</tspan><tspan
+ style="font-size:10px"
+ id="tspan3944"
+ y="973.59442"
+ x="255"
+ sodipodi:role="line">(handles channel[0])</tspan></text>
+ <path
+ id="rect3946"
+ transform="translate(0,702.36218)"
+ d="m 75,115 0,122.3125 -7.65625,0 L 85,255 102.6875,237.3125 95,237.3125 95,115 75,115 z"
+ style="fill:#f7d1d1;fill-opacity:1;stroke:#dd9191;stroke-width:0.99999994;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ inkscape:connector-curvature="0" />
+ <text
+ transform="matrix(0,1,-1,0,0,0)"
+ sodipodi:linespacing="125%"
+ id="text3948"
+ y="-81.15332"
+ x="829.24304"
+ style="font-size:14px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="-81.15332"
+ x="829.24304"
+ id="tspan3950"
+ sodipodi:role="line">IncomingFrames</tspan></text>
+ <path
+ id="path3946"
+ transform="translate(0,702.36218)"
+ d="m 70,275 0,62.5 -5,0 12.5,12.5 12.5,-12.5 -5,0 0,-62.5 -15,0 z"
+ style="fill:#f7d1d1;fill-opacity:1;stroke:#dd9191;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ inkscape:connector-curvature="0" />
+ <text
+ xml:space="preserve"
+ style="font-size:14px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="-942.64636"
+ y="423.84668"
+ id="text3969"
+ sodipodi:linespacing="125%"
+ transform="matrix(0,-1,1,0,0,0)"><tspan
+ sodipodi:role="line"
+ id="tspan3971"
+ x="-942.64636"
+ y="423.84668">OutgoingFrames</tspan></text>
+ <path
+ id="path3959"
+ transform="translate(0,702.36218)"
+ d="m 270,275 0,62.5 -5,0 12.5,12.5 12.5,-12.5 -5,0 0,-62.5 -15,0 z"
+ style="fill:#f7d1d1;fill-opacity:1;stroke:#dd9191;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path3965"
+ transform="translate(0,702.36218)"
+ d="M 222.5,277.5 210,290 l 5,0 0,40 15,0 0,-40 5,0 -12.5,-12.5 z"
+ style="fill:#f7d1d1;fill-opacity:1;stroke:#dd9191;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path3971"
+ transform="translate(0,702.36218)"
+ d="M 422.5,272.5 410,285 l 5,0 0,40 15,0 0,-40 5,0 -12.5,-12.5 z"
+ style="fill:#f7d1d1;fill-opacity:1;stroke:#dd9191;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ inkscape:connector-curvature="0" />
+ </g>
+ </g>
+</svg>
diff --git a/jetty-websocket/websocket-core/src/main/javadoc/org/eclipse/jetty/websocket/doc-files/websocket-stack-mux-sub-extensions.png b/jetty-websocket/websocket-core/src/main/javadoc/org/eclipse/jetty/websocket/doc-files/websocket-stack-mux-sub-extensions.png
new file mode 100644
index 0000000000..58f0d1df5d
--- /dev/null
+++ b/jetty-websocket/websocket-core/src/main/javadoc/org/eclipse/jetty/websocket/doc-files/websocket-stack-mux-sub-extensions.png
Binary files differ
diff --git a/jetty-websocket/websocket-core/src/main/javadoc/org/eclipse/jetty/websocket/doc-files/websocket-stack-mux-sub-extensions.svg b/jetty-websocket/websocket-core/src/main/javadoc/org/eclipse/jetty/websocket/doc-files/websocket-stack-mux-sub-extensions.svg
new file mode 100644
index 0000000000..428faadb36
--- /dev/null
+++ b/jetty-websocket/websocket-core/src/main/javadoc/org/eclipse/jetty/websocket/doc-files/websocket-stack-mux-sub-extensions.svg
@@ -0,0 +1,680 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="645"
+ height="500"
+ id="svg2"
+ version="1.1"
+ inkscape:version="0.48.2 r9819"
+ sodipodi:docname="websocket-stack-mux-sub-extensions.svg"
+ inkscape:export-filename="/home/joakim/code/intalio/org.eclipse.jetty9.project/jetty-websocket/websocket-core/src/main/javadoc/org/eclipse/jetty/websocket/doc-files/websocket-stack-mux-sub-extensions.png"
+ inkscape:export-xdpi="111.63"
+ inkscape:export-ydpi="111.63">
+ <defs
+ id="defs4" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1.746"
+ inkscape:cx="248.33047"
+ inkscape:cy="250"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer2"
+ showgrid="true"
+ inkscape:window-width="1920"
+ inkscape:window-height="1027"
+ inkscape:window-x="0"
+ inkscape:window-y="26"
+ inkscape:window-maximized="1"
+ showguides="true"
+ inkscape:guide-bbox="true"
+ borderlayer="true">
+ <inkscape:grid
+ type="xygrid"
+ id="grid3006"
+ empspacing="5"
+ dotted="true"
+ visible="true"
+ enabled="true"
+ snapvisiblegridlinesonly="true"
+ spacingx="5px"
+ spacingy="5px" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:groupmode="layer"
+ id="layer2"
+ inkscape:label="Background"
+ sodipodi:insensitive="true">
+ <rect
+ style="fill:#ffffff;fill-opacity:1;stroke:none"
+ id="rect3087"
+ width="645"
+ height="500"
+ x="0"
+ y="1.1483518e-13" />
+ </g>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(0,-552.36218)">
+ <g
+ id="g3207"
+ transform="translate(-3.8146973e-6,-150)">
+ <rect
+ y="1132.3622"
+ x="40.000004"
+ height="45.000004"
+ width="560"
+ id="rect3977"
+ style="fill:#e7e7e7;fill-opacity:1;stroke:none" />
+ <rect
+ style="fill:#d1d1d1;fill-opacity:1;stroke:none"
+ id="rect3975"
+ width="560"
+ height="320"
+ x="40.000004"
+ y="812.36218" />
+ <rect
+ y="727.36218"
+ x="50"
+ height="25.000031"
+ width="400"
+ id="rect3008"
+ style="fill:#caf3f6;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-opacity:1" />
+ <text
+ sodipodi:linespacing="125%"
+ id="text3778"
+ y="743.72449"
+ x="249.91454"
+ style="font-size:14px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="743.72449"
+ x="249.91454"
+ id="tspan3780"
+ sodipodi:role="line">Physical Connection</tspan></text>
+ <rect
+ y="762.36218"
+ x="40.000004"
+ height="50"
+ width="560"
+ id="rect3973"
+ style="fill:#bdbdbd;fill-opacity:1;stroke:none" />
+ <rect
+ style="fill:#caf3f6;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-opacity:1"
+ id="rect3797"
+ width="400"
+ height="25"
+ x="50"
+ y="752.36218" />
+ <text
+ xml:space="preserve"
+ style="font-size:14px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="249.91455"
+ y="768.72449"
+ id="text3799"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3801"
+ x="249.91455"
+ y="768.72449">AsyncEndPoint</tspan></text>
+ <rect
+ y="777.36218"
+ x="50"
+ height="24.999996"
+ width="400"
+ id="rect3805"
+ style="fill:#caf3f6;fill-opacity:1;stroke:#000000;stroke-width:0.99999994;stroke-opacity:1" />
+ <text
+ sodipodi:linespacing="125%"
+ id="text3807"
+ y="793.72449"
+ x="249.91455"
+ style="font-size:14px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="793.72449"
+ x="249.91455"
+ id="tspan3809"
+ sodipodi:role="line">WebSocketAsyncConnection</tspan></text>
+ <path
+ sodipodi:nodetypes="cc"
+ inkscape:connector-curvature="0"
+ id="path3999"
+ d="m 25.000004,812.36218 594.999996,0"
+ style="fill:none;stroke:#858585;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:4, 1;stroke-dashoffset:0" />
+ <rect
+ style="fill:#caf3f6;fill-opacity:1;stroke:#000000;stroke-width:0.99999994;stroke-opacity:1"
+ id="rect3786"
+ width="200"
+ height="25"
+ x="50"
+ y="802.36218" />
+ <text
+ xml:space="preserve"
+ style="font-size:14px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="149.31982"
+ y="819.86609"
+ id="text3815"
+ sodipodi:linespacing="125%"><tspan
+ id="tspan3822"
+ sodipodi:role="line"
+ x="149.31982"
+ y="819.86609">Parser</tspan></text>
+ <rect
+ y="802.36218"
+ x="250"
+ height="25"
+ width="200"
+ id="rect3788"
+ style="fill:#caf3f6;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-opacity:1" />
+ <text
+ sodipodi:linespacing="125%"
+ id="text3826"
+ y="819.95837"
+ x="314.03955"
+ style="font-size:14px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ id="tspan3830"
+ y="819.95837"
+ x="314.03955"
+ sodipodi:role="line">Generator</tspan></text>
+ <path
+ style="fill:none;stroke:#858585;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:4, 1;stroke-dashoffset:0"
+ d="m 25.000004,1132.3622 594.999996,0"
+ id="path4004"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cc" />
+ <text
+ sodipodi:linespacing="125%"
+ id="text3979"
+ y="777.36218"
+ x="485"
+ style="font-size:12px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="777.36218"
+ x="485"
+ id="tspan3981"
+ sodipodi:role="line">Network</tspan><tspan
+ id="tspan3983"
+ y="792.36218"
+ x="485"
+ sodipodi:role="line">ByteBuffers</tspan></text>
+ <text
+ sodipodi:linespacing="125%"
+ id="text3985"
+ y="827.36218"
+ x="485"
+ style="font-size:12px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="827.36218"
+ x="485"
+ id="tspan3987"
+ sodipodi:role="line">Internal</tspan><tspan
+ id="tspan3989"
+ y="842.36218"
+ x="485"
+ sodipodi:role="line">WebSocketFrame</tspan></text>
+ <text
+ sodipodi:linespacing="125%"
+ id="text3991"
+ y="1147.3622"
+ x="485"
+ style="font-size:12px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="1147.3622"
+ x="485"
+ id="tspan3993"
+ sodipodi:role="line">Message</tspan><tspan
+ id="tspan3995"
+ y="1162.3622"
+ x="485"
+ sodipodi:role="line">Text or Binary</tspan></text>
+ <rect
+ y="842.36218"
+ x="50"
+ height="25"
+ width="400"
+ id="rect3035"
+ style="fill:#eef6ca;fill-opacity:1;stroke:#8e933c;stroke-width:1;stroke-opacity:1" />
+ <text
+ sodipodi:linespacing="125%"
+ id="text3805"
+ y="858.72449"
+ x="249.91455"
+ style="font-size:14px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="858.72449"
+ x="249.91455"
+ id="tspan3807"
+ sodipodi:role="line">Identity Extension</tspan></text>
+ <rect
+ style="fill:#eef6ca;fill-opacity:1;stroke:#8e933c;stroke-width:1;stroke-opacity:1"
+ id="rect3809"
+ width="400"
+ height="25"
+ x="50"
+ y="867.36218" />
+ <text
+ xml:space="preserve"
+ style="font-size:14px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="250"
+ y="885.08142"
+ id="text3811"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3813"
+ x="250"
+ y="885.08142">Deflate Extension</tspan></text>
+ <rect
+ y="892.36218"
+ x="50"
+ height="25"
+ width="400"
+ id="rect3815"
+ style="fill:#eef6ca;fill-opacity:1;stroke:#8e933c;stroke-width:1;stroke-opacity:1" />
+ <text
+ sodipodi:linespacing="125%"
+ id="text3817"
+ y="908.72449"
+ x="250"
+ style="font-size:14px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="908.72449"
+ x="250"
+ id="tspan3819"
+ sodipodi:role="line">Fragment Extension</tspan></text>
+ <g
+ transform="translate(0,69.999997)"
+ id="g3123">
+ <rect
+ y="1022.3622"
+ x="60"
+ height="25"
+ width="180"
+ id="rect3849"
+ style="fill:#caf3f6;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-opacity:1" />
+ <text
+ sodipodi:linespacing="125%"
+ id="text3851"
+ y="1039.3358"
+ x="150.31641"
+ style="font-size:12px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="1039.3358"
+ x="150.31641"
+ id="tspan3853"
+ sodipodi:role="line">WebSocketSession</tspan></text>
+ <rect
+ y="1072.3622"
+ x="60"
+ height="25"
+ width="180"
+ id="rect3865"
+ style="fill:#caf3f6;fill-opacity:1;stroke:#000000;stroke-width:0.99999994;stroke-opacity:1" />
+ <text
+ sodipodi:linespacing="125%"
+ id="text3867"
+ y="1087.3622"
+ x="150.1377"
+ style="font-size:12px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="1087.3622"
+ x="150.1377"
+ id="tspan3869"
+ sodipodi:role="line">WebSocket POJO</tspan></text>
+ <rect
+ style="fill:#caf3f6;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-opacity:1"
+ id="rect3881"
+ width="80"
+ height="25"
+ x="60.000004"
+ y="1047.3622" />
+ <text
+ xml:space="preserve"
+ style="font-size:12px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="99.806641"
+ y="1064.3358"
+ id="text3883"
+ sodipodi:linespacing="125%"><tspan
+ id="tspan3885"
+ sodipodi:role="line"
+ x="99.806641"
+ y="1064.3358">WSEDriver</tspan></text>
+ <rect
+ y="1047.3622"
+ x="140"
+ height="25"
+ width="100"
+ id="rect3905"
+ style="fill:#caf3f6;fill-opacity:1;stroke:#000000;stroke-width:0.99999988;stroke-opacity:1" />
+ <text
+ sodipodi:linespacing="125%"
+ id="text3907"
+ y="1064.3358"
+ x="190.31641"
+ style="font-size:12px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="1064.3358"
+ x="190.31641"
+ sodipodi:role="line"
+ id="tspan3909">WSConnection</tspan></text>
+ </g>
+ <rect
+ y="997.36218"
+ x="60"
+ height="25"
+ width="180"
+ id="rect3103"
+ style="fill:#caf3f6;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-opacity:1" />
+ <text
+ sodipodi:linespacing="125%"
+ id="text3105"
+ y="1013.6298"
+ x="149.92969"
+ style="font-size:12px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="1013.6298"
+ x="149.92969"
+ id="tspan3107"
+ sodipodi:role="line">MuxConnection[1]</tspan></text>
+ <g
+ transform="translate(0,69.999997)"
+ id="g3109">
+ <rect
+ style="fill:#caf3f6;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-opacity:1"
+ id="rect3134"
+ width="180"
+ height="25"
+ x="260"
+ y="1022.3622" />
+ <text
+ xml:space="preserve"
+ style="font-size:12px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="350.31641"
+ y="1039.3358"
+ id="text3136"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3138"
+ x="350.31641"
+ y="1039.3358">WebSocketSession</tspan></text>
+ <rect
+ style="fill:#caf3f6;fill-opacity:1;stroke:#000000;stroke-width:0.99999994;stroke-opacity:1"
+ id="rect3140"
+ width="180"
+ height="25"
+ x="260"
+ y="1072.3622" />
+ <text
+ xml:space="preserve"
+ style="font-size:12px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="350.1377"
+ y="1087.3622"
+ id="text3142"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3144"
+ x="350.1377"
+ y="1087.3622">WebSocket POJO</tspan></text>
+ <rect
+ y="1047.3622"
+ x="260"
+ height="25"
+ width="80"
+ id="rect3146"
+ style="fill:#caf3f6;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-opacity:1" />
+ <text
+ sodipodi:linespacing="125%"
+ id="text3148"
+ y="1064.3358"
+ x="299.80664"
+ style="font-size:12px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="1064.3358"
+ x="299.80664"
+ sodipodi:role="line"
+ id="tspan3150">WSEDriver</tspan></text>
+ <rect
+ style="fill:#caf3f6;fill-opacity:1;stroke:#000000;stroke-width:0.99999988;stroke-opacity:1"
+ id="rect3152"
+ width="100"
+ height="25"
+ x="340"
+ y="1047.3622" />
+ <text
+ xml:space="preserve"
+ style="font-size:12px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="390.31641"
+ y="1064.3358"
+ id="text3154"
+ sodipodi:linespacing="125%"><tspan
+ id="tspan3156"
+ sodipodi:role="line"
+ x="390.31641"
+ y="1064.3358">WSConnection</tspan></text>
+ </g>
+ <rect
+ style="fill:#caf3f6;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-opacity:1"
+ id="rect3158"
+ width="180"
+ height="25"
+ x="260"
+ y="997.36218" />
+ <text
+ xml:space="preserve"
+ style="font-size:12px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="349.92969"
+ y="1013.6298"
+ id="text3160"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3162"
+ x="349.92969"
+ y="1013.6298">MuxConnection[1]</tspan></text>
+ <rect
+ style="fill:#eef6ca;fill-opacity:1;stroke:#8e933c;stroke-width:1;stroke-opacity:1"
+ id="rect3164"
+ width="400"
+ height="29.999998"
+ x="50"
+ y="917.36218" />
+ <text
+ xml:space="preserve"
+ style="font-size:14px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="249.91455"
+ y="933.72449"
+ id="text3166"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3168"
+ x="249.91455"
+ y="933.72449">Mux Extension</tspan></text>
+ <rect
+ y="942.36218"
+ x="55"
+ height="39.999996"
+ width="390"
+ id="rect3170"
+ style="fill:#e1efa3;fill-opacity:1;stroke:#8e933c;stroke-width:0.99999988;stroke-opacity:1" />
+ <path
+ id="rect3954"
+ d="m 420,817.36218 -17.6875,17.6875 7.6875,0 0,117.3125 20,0 0,-117.3125 7.65625,0 L 420,817.36218 z"
+ style="fill:#f7d1d1;fill-opacity:1;stroke:#dd9191;stroke-width:0.99999994;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ inkscape:connector-curvature="0" />
+ <text
+ sodipodi:linespacing="125%"
+ id="text3940"
+ y="960.08142"
+ x="255"
+ style="font-size:14px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="960.08142"
+ x="255"
+ id="tspan3942"
+ sodipodi:role="line">MuxChannels</tspan><tspan
+ style="font-size:10px"
+ id="tspan3944"
+ y="973.59442"
+ x="255"
+ sodipodi:role="line">(handles channel[0])</tspan></text>
+ <path
+ id="rect3946"
+ transform="translate(0,702.36218)"
+ d="m 75,115 0,122.3125 -7.65625,0 L 85,255 102.6875,237.3125 95,237.3125 95,115 75,115 z"
+ style="fill:#f7d1d1;fill-opacity:1;stroke:#dd9191;stroke-width:0.99999994;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ inkscape:connector-curvature="0" />
+ <text
+ transform="matrix(0,1,-1,0,0,0)"
+ sodipodi:linespacing="125%"
+ id="text3948"
+ y="-81.15332"
+ x="829.24304"
+ style="font-size:14px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="-81.15332"
+ x="829.24304"
+ id="tspan3950"
+ sodipodi:role="line">IncomingFrames</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:14px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="-942.64636"
+ y="423.84668"
+ id="text3969"
+ sodipodi:linespacing="125%"
+ transform="matrix(0,-1,1,0,0,0)"><tspan
+ sodipodi:role="line"
+ id="tspan3971"
+ x="-942.64636"
+ y="423.84668">OutgoingFrames</tspan></text>
+ <rect
+ style="fill:#eef6ca;fill-opacity:1;stroke:#8e933c;stroke-width:1;stroke-opacity:1"
+ id="rect3150"
+ width="179.91455"
+ height="25"
+ x="60"
+ y="1032.3622" />
+ <text
+ xml:space="preserve"
+ style="font-size:12px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="149.88403"
+ y="1048.1727"
+ id="text3152"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3154"
+ x="149.88403"
+ y="1048.1727">Identity Extension</tspan></text>
+ <rect
+ y="1057.3622"
+ x="60.085449"
+ height="25"
+ width="179.91455"
+ id="rect3156"
+ style="fill:#eef6ca;fill-opacity:1;stroke:#8e933c;stroke-width:1;stroke-opacity:1" />
+ <text
+ sodipodi:linespacing="125%"
+ id="text3158"
+ y="1073.1727"
+ x="149.96948"
+ style="font-size:12px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="1073.1727"
+ x="149.96948"
+ id="tspan3160"
+ sodipodi:role="line">Fragment Extension</tspan></text>
+ <rect
+ transform="matrix(0,1,-1,0,0,0)"
+ y="-85"
+ x="977.36218"
+ height="15"
+ width="135.00002"
+ id="rect3950"
+ style="fill:#f7d1d1;fill-opacity:1;stroke:#dd9191;stroke-width:0.99999994;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ <path
+ id="path3965"
+ transform="translate(0,702.36218)"
+ d="M 222.5,277.5 210,290 l 5,0 0,130 15,0 0,-130 5,0 -12.5,-12.5 z"
+ style="fill:#f7d1d1;fill-opacity:1;stroke:#dd9191;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ inkscape:connector-curvature="0" />
+ <rect
+ y="1032.3622"
+ x="260.08545"
+ height="25"
+ width="179.91455"
+ id="rect3165"
+ style="fill:#eef6ca;fill-opacity:1;stroke:#8e933c;stroke-width:1;stroke-opacity:1" />
+ <text
+ sodipodi:linespacing="125%"
+ id="text3167"
+ y="1048.1727"
+ x="349.96948"
+ style="font-size:12px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="1048.1727"
+ x="349.96948"
+ id="tspan3169"
+ sodipodi:role="line">Identity Extension</tspan></text>
+ <rect
+ style="fill:#eef6ca;fill-opacity:1;stroke:#8e933c;stroke-width:1;stroke-opacity:1"
+ id="rect3171"
+ width="179.91455"
+ height="25"
+ x="260.1709"
+ y="1057.3622" />
+ <text
+ xml:space="preserve"
+ style="font-size:12px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="350.05493"
+ y="1073.1727"
+ id="text3173"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3175"
+ x="350.05493"
+ y="1073.1727">Fragment Extension</tspan></text>
+ <path
+ id="path3179"
+ transform="translate(0,702.36218)"
+ d="M 422.5,277.5 410,290 l 5,0 0,130 15,0 0,-130 5,0 -12.5,-12.5 z"
+ style="fill:#f7d1d1;fill-opacity:1;stroke:#dd9191;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path3946"
+ transform="translate(0,702.36218)"
+ d="m 70,275 0,132.5 -5,0 12.5,12.5 12.5,-12.5 -5,0 0,-132.5 -15,0 z"
+ style="fill:#f7d1d1;fill-opacity:1;stroke:#dd9191;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path3191"
+ transform="translate(0,702.36218)"
+ d="m 270,275 0,132.5 -5,0 12.5,12.5 12.5,-12.5 -5,0 0,-132.5 -15,0 z"
+ style="fill:#f7d1d1;fill-opacity:1;stroke:#dd9191;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ inkscape:connector-curvature="0" />
+ </g>
+ </g>
+</svg>
diff --git a/jetty-websocket/websocket-core/src/main/javadoc/org/eclipse/jetty/websocket/doc-files/websocket-stack-simple.png b/jetty-websocket/websocket-core/src/main/javadoc/org/eclipse/jetty/websocket/doc-files/websocket-stack-simple.png
new file mode 100644
index 0000000000..16b178305b
--- /dev/null
+++ b/jetty-websocket/websocket-core/src/main/javadoc/org/eclipse/jetty/websocket/doc-files/websocket-stack-simple.png
Binary files differ
diff --git a/jetty-websocket/websocket-core/src/main/javadoc/org/eclipse/jetty/websocket/doc-files/websocket-stack-simple.svg b/jetty-websocket/websocket-core/src/main/javadoc/org/eclipse/jetty/websocket/doc-files/websocket-stack-simple.svg
new file mode 100644
index 0000000000..92922d954e
--- /dev/null
+++ b/jetty-websocket/websocket-core/src/main/javadoc/org/eclipse/jetty/websocket/doc-files/websocket-stack-simple.svg
@@ -0,0 +1,371 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="645"
+ height="350"
+ id="svg2"
+ version="1.1"
+ inkscape:version="0.48.2 r9819"
+ sodipodi:docname="websocket-stack-simple.svg"
+ inkscape:export-filename="/home/joakim/code/intalio/org.eclipse.jetty9.project/jetty-websocket/websocket-core/src/main/javadoc/org/eclipse/jetty/websocket/doc-files/websocket-stack-simple.png"
+ inkscape:export-xdpi="111.63"
+ inkscape:export-ydpi="111.63">
+ <defs
+ id="defs4" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="2.3550388"
+ inkscape:cx="322.5"
+ inkscape:cy="175"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer2"
+ showgrid="true"
+ inkscape:window-width="1920"
+ inkscape:window-height="1027"
+ inkscape:window-x="0"
+ inkscape:window-y="26"
+ inkscape:window-maximized="1"
+ showguides="true"
+ inkscape:guide-bbox="true"
+ borderlayer="true">
+ <inkscape:grid
+ type="xygrid"
+ id="grid3006"
+ empspacing="5"
+ dotted="true"
+ visible="true"
+ enabled="true"
+ snapvisiblegridlinesonly="true"
+ spacingx="5px"
+ spacingy="5px" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:groupmode="layer"
+ id="layer2"
+ inkscape:label="Background"
+ sodipodi:insensitive="true">
+ <rect
+ style="fill:#ffffff;fill-opacity:1;stroke:none"
+ id="rect3089"
+ width="645"
+ height="350"
+ x="0"
+ y="0" />
+ </g>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(0,-702.36218)">
+ <g
+ id="g3037">
+ <rect
+ y="982.36218"
+ x="40.000004"
+ height="45.000004"
+ width="560"
+ id="rect3977"
+ style="fill:#e7e7e7;fill-opacity:1;stroke:none" />
+ <rect
+ style="fill:#d1d1d1;fill-opacity:1;stroke:none"
+ id="rect3975"
+ width="560"
+ height="170"
+ x="40.000004"
+ y="812.36218" />
+ <rect
+ y="727.36218"
+ x="50"
+ height="25.000031"
+ width="400"
+ id="rect3008"
+ style="fill:#caf3f6;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-opacity:1" />
+ <text
+ sodipodi:linespacing="125%"
+ id="text3778"
+ y="743.72449"
+ x="249.91454"
+ style="font-size:14px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="743.72449"
+ x="249.91454"
+ id="tspan3780"
+ sodipodi:role="line">Physical Connection</tspan></text>
+ <rect
+ y="762.36218"
+ x="40.000004"
+ height="50"
+ width="560"
+ id="rect3973"
+ style="fill:#bdbdbd;fill-opacity:1;stroke:none" />
+ <rect
+ style="fill:#caf3f6;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-opacity:1"
+ id="rect3797"
+ width="400"
+ height="25"
+ x="50"
+ y="752.36218" />
+ <text
+ xml:space="preserve"
+ style="font-size:14px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="249.91455"
+ y="768.72449"
+ id="text3799"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3801"
+ x="249.91455"
+ y="768.72449">AsyncEndPoint</tspan></text>
+ <rect
+ y="777.36218"
+ x="50"
+ height="24.999996"
+ width="400"
+ id="rect3805"
+ style="fill:#caf3f6;fill-opacity:1;stroke:#000000;stroke-width:0.99999994;stroke-opacity:1" />
+ <text
+ sodipodi:linespacing="125%"
+ id="text3807"
+ y="793.72449"
+ x="249.91455"
+ style="font-size:14px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="793.72449"
+ x="249.91455"
+ id="tspan3809"
+ sodipodi:role="line">WebSocketAsyncConnection</tspan></text>
+ <path
+ sodipodi:nodetypes="cc"
+ inkscape:connector-curvature="0"
+ id="path3999"
+ d="m 25.000004,812.36217 594.999996,0"
+ style="fill:none;stroke:#858585;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:4, 1;stroke-dashoffset:0" />
+ <rect
+ style="fill:#caf3f6;fill-opacity:1;stroke:#000000;stroke-width:0.99999994;stroke-opacity:1"
+ id="rect3786"
+ width="200"
+ height="25"
+ x="50"
+ y="802.36218" />
+ <text
+ xml:space="preserve"
+ style="font-size:14px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="149.31982"
+ y="819.86609"
+ id="text3815"
+ sodipodi:linespacing="125%"><tspan
+ id="tspan3822"
+ sodipodi:role="line"
+ x="149.31982"
+ y="819.86609">Parser</tspan></text>
+ <rect
+ y="802.36218"
+ x="250"
+ height="25"
+ width="200"
+ id="rect3788"
+ style="fill:#caf3f6;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-opacity:1" />
+ <text
+ sodipodi:linespacing="125%"
+ id="text3826"
+ y="819.95837"
+ x="314.03955"
+ style="font-size:14px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ id="tspan3830"
+ y="819.95837"
+ x="314.03955"
+ sodipodi:role="line">Generator</tspan></text>
+ <rect
+ style="fill:#caf3f6;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-opacity:1"
+ id="rect3849"
+ width="400"
+ height="25"
+ x="50"
+ y="942.36218" />
+ <text
+ xml:space="preserve"
+ style="font-size:14px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="249.91455"
+ y="958.72449"
+ id="text3851"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3853"
+ x="249.91455"
+ y="958.72449">WebSocketSession</tspan></text>
+ <rect
+ style="fill:#caf3f6;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-opacity:1"
+ id="rect3865"
+ width="400"
+ height="25"
+ x="50"
+ y="992.36218" />
+ <text
+ xml:space="preserve"
+ style="font-size:14px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="249.91455"
+ y="1008.7245"
+ id="text3867"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3869"
+ x="249.91455"
+ y="1008.7245">WebSocket POJO</tspan></text>
+ <path
+ style="fill:none;stroke:#858585;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:4, 1;stroke-dashoffset:0"
+ d="m 25.000004,982.36217 594.999996,0"
+ id="path4004"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cc" />
+ <g
+ transform="translate(7.6259473e-6,314.99998)"
+ id="g3898">
+ <rect
+ style="fill:#caf3f6;fill-opacity:1;stroke:#000000;stroke-width:0.99999994;stroke-opacity:1"
+ id="rect3881"
+ width="200"
+ height="25"
+ x="49.999996"
+ y="652.36218" />
+ <text
+ xml:space="preserve"
+ style="font-size:14px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="149.77441"
+ y="670.08142"
+ id="text3883"
+ sodipodi:linespacing="125%"><tspan
+ id="tspan3885"
+ sodipodi:role="line"
+ x="149.77441"
+ y="670.08142">WebSocketEventDriver</tspan></text>
+ </g>
+ <g
+ id="g3903"
+ transform="translate(200,314.99998)">
+ <rect
+ y="652.36218"
+ x="49.999996"
+ height="25"
+ width="200"
+ id="rect3905"
+ style="fill:#caf3f6;fill-opacity:1;stroke:#000000;stroke-width:0.99999994;stroke-opacity:1" />
+ <text
+ sodipodi:linespacing="125%"
+ id="text3907"
+ y="670.08142"
+ x="149.77441"
+ style="font-size:14px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="670.08142"
+ x="149.77441"
+ sodipodi:role="line"
+ id="tspan3909">WebSocketConnection</tspan></text>
+ </g>
+ <path
+ inkscape:connector-curvature="0"
+ id="rect3934"
+ d="m 75.000004,817.36217 0,137.3125 -7.65625,0 17.65625,17.6875 17.687496,-17.6875 -7.687496,0 0,-137.3125 -20,0 z"
+ style="fill:#f7d1d1;fill-opacity:1;stroke:#dd9191;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ <text
+ transform="matrix(0,1,-1,0,0,0)"
+ sodipodi:linespacing="125%"
+ id="text3948"
+ y="-81.15332"
+ x="822.36218"
+ style="font-size:14px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="-81.15332"
+ x="822.36218"
+ id="tspan3950"
+ sodipodi:role="line">IncomingFrames</tspan></text>
+ <path
+ inkscape:connector-curvature="0"
+ id="rect3954"
+ d="m 420,817.36217 -17.6875,17.6875 7.6875,0 0,117.3125 20,0 0,-117.3125 7.65625,0 L 420,817.36217 z"
+ style="fill:#f7d1d1;fill-opacity:1;stroke:#dd9191;stroke-width:0.99999994;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ <text
+ xml:space="preserve"
+ style="font-size:14px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="-942.64636"
+ y="423.84668"
+ id="text3969"
+ sodipodi:linespacing="125%"
+ transform="matrix(0,-1,1,0,0,0)"><tspan
+ sodipodi:role="line"
+ id="tspan3971"
+ x="-942.64636"
+ y="423.84668">OutgoingFrames</tspan></text>
+ <text
+ sodipodi:linespacing="125%"
+ id="text3979"
+ y="777.36218"
+ x="485"
+ style="font-size:12px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="777.36218"
+ x="485"
+ id="tspan3981"
+ sodipodi:role="line">Network</tspan><tspan
+ id="tspan3983"
+ y="792.36218"
+ x="485"
+ sodipodi:role="line">ByteBuffers</tspan></text>
+ <text
+ sodipodi:linespacing="125%"
+ id="text3985"
+ y="827.36218"
+ x="485"
+ style="font-size:12px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="827.36218"
+ x="485"
+ id="tspan3987"
+ sodipodi:role="line">Internal</tspan><tspan
+ id="tspan3989"
+ y="842.36218"
+ x="485"
+ sodipodi:role="line">WebSocketFrame</tspan></text>
+ <text
+ sodipodi:linespacing="125%"
+ id="text3991"
+ y="997.36218"
+ x="485"
+ style="font-size:12px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="997.36218"
+ x="485"
+ id="tspan3993"
+ sodipodi:role="line">Message</tspan><tspan
+ id="tspan3995"
+ y="1012.3622"
+ x="485"
+ sodipodi:role="line">Text or Binary</tspan></text>
+ </g>
+ </g>
+</svg>

Back to the top