blob: 82bef41fcee0f56058a80c4238b9b13e1a4136fa [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" height="417px" style="width:850px;height:417px;" version="1.1" viewBox="0 0 850 417" width="850px"><defs><filter height="300%" id="f1" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><rect fill="#FFFFFF" filter="url(#f1)" height="107.3794" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="52" y="69.29"/><rect fill="#FFFFFF" filter="url(#f1)" height="73.2529" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="325" y="103.4165"/><rect fill="#FFFFFF" filter="url(#f1)" height="186.6323" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="644" y="103.4165"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="57" x2="57" y1="38.29" y2="379.4282"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="330" x2="330" y1="38.29" y2="379.4282"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="649" x2="649" y1="38.29" y2="379.4282"/><rect fill="#FEFECE" filter="url(#f1)" height="30.29" style="stroke: #A80036; stroke-width: 1.5;" width="94" x="8" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="80" x="15" y="23.3027">User thread</text><rect fill="#FEFECE" filter="url(#f1)" height="30.29" style="stroke: #A80036; stroke-width: 1.5;" width="94" x="8" y="378.4282"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="80" x="15" y="398.731">User thread</text><rect fill="#FEFECE" filter="url(#f1)" height="30.29" style="stroke: #A80036; stroke-width: 1.5;" width="132" x="262" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="118" x="269" y="23.3027">Dubbo consumer</text><rect fill="#FEFECE" filter="url(#f1)" height="30.29" style="stroke: #A80036; stroke-width: 1.5;" width="132" x="262" y="378.4282"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="118" x="269" y="398.731">Dubbo consumer</text><rect fill="#FEFECE" filter="url(#f1)" height="30.29" style="stroke: #A80036; stroke-width: 1.5;" width="122" x="586" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="108" x="593" y="23.3027">Dubbo provider</text><rect fill="#FEFECE" filter="url(#f1)" height="30.29" style="stroke: #A80036; stroke-width: 1.5;" width="122" x="586" y="378.4282"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="108" x="593" y="398.731">Dubbo provider</text><rect fill="#FFFFFF" filter="url(#f1)" height="107.3794" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="52" y="69.29"/><rect fill="#FFFFFF" filter="url(#f1)" height="73.2529" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="325" y="103.4165"/><rect fill="#FFFFFF" filter="url(#f1)" height="186.6323" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="644" y="103.4165"/><polygon fill="#A80036" points="318,65.29,328,69.29,318,73.29,322,69.29" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="62" x2="324" y1="69.29" y2="69.29"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="88" x="69" y="64.6426">Start invoking</text><polygon fill="#A80036" points="632,99.4165,642,103.4165,632,107.4165,636,103.4165" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="335" x2="638" y1="103.4165" y2="103.4165"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="295" x="342" y="98.769">Send request data(service, method, arguments)</text><polygon fill="#FBFB77" filter="url(#f1)" points="659,82.4165,659,107.4165,841,107.4165,841,92.4165,831,82.4165,659,82.4165" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="831" x2="831" y1="82.4165" y2="92.4165"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="841" x2="831" y1="92.4165" y2="92.4165"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="161" x="665" y="99.769">Process service side logic</text><polygon fill="#A80036" points="73,138.543,63,142.543,73,146.543,69,142.543" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="67" x2="324" y1="142.543" y2="142.543"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="239" x="79" y="137.8955">Return immediately(when sent==true)</text><polygon fill="#FBFB77" filter="url(#f1)" points="340,121.543,340,146.543,481,146.543,481,131.543,471,121.543,340,121.543" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="471" x2="471" y1="121.543" y2="131.543"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="481" x2="471" y1="131.543" y2="131.543"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="120" x="346" y="138.8955">Wait data sent over</text><polygon fill="#A80036" points="68,172.6694,58,176.6694,68,180.6694,64,176.6694" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="62" x2="329" y1="176.6694" y2="176.6694"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="167" x="74" y="172.022">Return (when sent==false)</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="57" x2="99" y1="205.9224" y2="205.9224"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="99" x2="99" y1="205.9224" y2="218.9224"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="58" x2="99" y1="218.9224" y2="218.9224"/><polygon fill="#A80036" points="68,214.9224,58,218.9224,68,222.9224,64,218.9224" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="63" x="64" y="201.1484">Get future</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="57" x2="99" y1="248.0488" y2="248.0488"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="99" x2="99" y1="248.0488" y2="261.0488"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="58" x2="99" y1="261.0488" y2="261.0488"/><polygon fill="#A80036" points="68,257.0488,58,261.0488,68,265.0488,64,261.0488" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="90" x="64" y="243.2749">Do other logic</text><polygon fill="#0000FF" points="341,286.0488,331,290.0488,341,294.0488,337,290.0488" style="stroke: #0000FF; stroke-width: 1.0;"/><line style="stroke: #0000FF; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="335" x2="648" y1="290.0488" y2="290.0488"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="102" x="347" y="285.4014">Return response</text><polygon fill="#0000FF" points="68,315.1753,58,319.1753,68,323.1753,64,319.1753" style="stroke: #0000FF; stroke-width: 1.0;"/><line style="stroke: #0000FF; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="62" x2="329" y1="319.1753" y2="319.1753"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="139" x="74" y="314.5278">Set response to future</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="57" x2="99" y1="348.4282" y2="348.4282"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="99" x2="99" y1="348.4282" y2="361.4282"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="58" x2="99" y1="361.4282" y2="361.4282"/><polygon fill="#A80036" points="68,357.4282,58,361.4282,68,365.4282,64,361.4282" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="210" x="64" y="343.6543">Get response through future.get()</text></g></svg>