Files
simplex-chat/diagrams/simplex-messaging/simplex.svg
T
Evgeny Poberezkin 3e07161121 Remove connection ID and alternative flow (#22)
* docs: remove connection ID from simplex-messaging.md, #8

* docs: remove alternative flow in simplex-messaging, #20

* docs: update simplex diagrams to remove connection ID

* docs: remove connection ID from graph-chat

* docs: update duplex connection diagram to remove connection ID, closes #8
2020-01-26 21:34:14 +00:00

505 lines
19 KiB
XML

<svg id="mermaid-1579981583566" width="918.03125" xmlns="http://www.w3.org/2000/svg" height="157.95216369628906" viewBox="0 0 918.03125 157.95216369628906"><style>
#mermaid-1579981583566 .label {
font-family: 'trebuchet ms', verdana, arial;
font-family: var(--mermaid-font-family);
color: #333; }
#mermaid-1579981583566 .label text {
fill: #333; }
#mermaid-1579981583566 .node rect,
#mermaid-1579981583566 .node circle,
#mermaid-1579981583566 .node ellipse,
#mermaid-1579981583566 .node polygon,
#mermaid-1579981583566 .node path {
fill: #ECECFF;
stroke: #9370DB;
stroke-width: 1px; }
#mermaid-1579981583566 .node .label {
text-align: center; }
#mermaid-1579981583566 .node.clickable {
cursor: pointer; }
#mermaid-1579981583566 .arrowheadPath {
fill: #333333; }
#mermaid-1579981583566 .edgePath .path {
stroke: #333333;
stroke-width: 1.5px; }
#mermaid-1579981583566 .edgeLabel {
background-color: #e8e8e8;
text-align: center; }
#mermaid-1579981583566 .cluster rect {
fill: #ffffde;
stroke: #aaaa33;
stroke-width: 1px; }
#mermaid-1579981583566 .cluster text {
fill: #333; }
#mermaid-1579981583566 div.mermaidTooltip {
position: absolute;
text-align: center;
max-width: 200px;
padding: 2px;
font-family: 'trebuchet ms', verdana, arial;
font-family: var(--mermaid-font-family);
font-size: 12px;
background: #ffffde;
border: 1px solid #aaaa33;
border-radius: 2px;
pointer-events: none;
z-index: 100; }
#mermaid-1579981583566 .actor {
stroke: #CCCCFF;
fill: #ECECFF; }
#mermaid-1579981583566 text.actor {
fill: black;
stroke: none; }
#mermaid-1579981583566 .actor-line {
stroke: grey; }
#mermaid-1579981583566 .messageLine0 {
stroke-width: 1.5;
stroke-dasharray: '2 2';
stroke: #333; }
#mermaid-1579981583566 .messageLine1 {
stroke-width: 1.5;
stroke-dasharray: '2 2';
stroke: #333; }
#mermaid-1579981583566 #arrowhead {
fill: #333; }
#mermaid-1579981583566 .sequenceNumber {
fill: white; }
#mermaid-1579981583566 #sequencenumber {
fill: #333; }
#mermaid-1579981583566 #crosshead path {
fill: #333 !important;
stroke: #333 !important; }
#mermaid-1579981583566 .messageText {
fill: #333;
stroke: none; }
#mermaid-1579981583566 .labelBox {
stroke: #CCCCFF;
fill: #ECECFF; }
#mermaid-1579981583566 .labelText {
fill: black;
stroke: none; }
#mermaid-1579981583566 .loopText {
fill: black;
stroke: none; }
#mermaid-1579981583566 .loopLine {
stroke-width: 2;
stroke-dasharray: '2 2';
stroke: #CCCCFF; }
#mermaid-1579981583566 .note {
stroke: #aaaa33;
fill: #fff5ad; }
#mermaid-1579981583566 .noteText {
fill: black;
stroke: none;
font-family: 'trebuchet ms', verdana, arial;
font-family: var(--mermaid-font-family);
font-size: 14px; }
#mermaid-1579981583566 .activation0 {
fill: #f4f4f4;
stroke: #666; }
#mermaid-1579981583566 .activation1 {
fill: #f4f4f4;
stroke: #666; }
#mermaid-1579981583566 .activation2 {
fill: #f4f4f4;
stroke: #666; }
#mermaid-1579981583566 .mermaid-main-font {
font-family: "trebuchet ms", verdana, arial;
font-family: var(--mermaid-font-family); }
#mermaid-1579981583566 .section {
stroke: none;
opacity: 0.2; }
#mermaid-1579981583566 .section0 {
fill: rgba(102, 102, 255, 0.49); }
#mermaid-1579981583566 .section2 {
fill: #fff400; }
#mermaid-1579981583566 .section1,
#mermaid-1579981583566 .section3 {
fill: white;
opacity: 0.2; }
#mermaid-1579981583566 .sectionTitle0 {
fill: #333; }
#mermaid-1579981583566 .sectionTitle1 {
fill: #333; }
#mermaid-1579981583566 .sectionTitle2 {
fill: #333; }
#mermaid-1579981583566 .sectionTitle3 {
fill: #333; }
#mermaid-1579981583566 .sectionTitle {
text-anchor: start;
font-size: 11px;
text-height: 14px;
font-family: 'trebuchet ms', verdana, arial;
font-family: var(--mermaid-font-family); }
#mermaid-1579981583566 .grid .tick {
stroke: lightgrey;
opacity: 0.8;
shape-rendering: crispEdges; }
#mermaid-1579981583566 .grid .tick text {
font-family: 'trebuchet ms', verdana, arial;
font-family: var(--mermaid-font-family); }
#mermaid-1579981583566 .grid path {
stroke-width: 0; }
#mermaid-1579981583566 .today {
fill: none;
stroke: red;
stroke-width: 2px; }
#mermaid-1579981583566 .task {
stroke-width: 2; }
#mermaid-1579981583566 .taskText {
text-anchor: middle;
font-family: 'trebuchet ms', verdana, arial;
font-family: var(--mermaid-font-family); }
#mermaid-1579981583566 .taskText:not([font-size]) {
font-size: 11px; }
#mermaid-1579981583566 .taskTextOutsideRight {
fill: black;
text-anchor: start;
font-size: 11px;
font-family: 'trebuchet ms', verdana, arial;
font-family: var(--mermaid-font-family); }
#mermaid-1579981583566 .taskTextOutsideLeft {
fill: black;
text-anchor: end;
font-size: 11px; }
#mermaid-1579981583566 .task.clickable {
cursor: pointer; }
#mermaid-1579981583566 .taskText.clickable {
cursor: pointer;
fill: #003163 !important;
font-weight: bold; }
#mermaid-1579981583566 .taskTextOutsideLeft.clickable {
cursor: pointer;
fill: #003163 !important;
font-weight: bold; }
#mermaid-1579981583566 .taskTextOutsideRight.clickable {
cursor: pointer;
fill: #003163 !important;
font-weight: bold; }
#mermaid-1579981583566 .taskText0,
#mermaid-1579981583566 .taskText1,
#mermaid-1579981583566 .taskText2,
#mermaid-1579981583566 .taskText3 {
fill: white; }
#mermaid-1579981583566 .task0,
#mermaid-1579981583566 .task1,
#mermaid-1579981583566 .task2,
#mermaid-1579981583566 .task3 {
fill: #8a90dd;
stroke: #534fbc; }
#mermaid-1579981583566 .taskTextOutside0,
#mermaid-1579981583566 .taskTextOutside2 {
fill: black; }
#mermaid-1579981583566 .taskTextOutside1,
#mermaid-1579981583566 .taskTextOutside3 {
fill: black; }
#mermaid-1579981583566 .active0,
#mermaid-1579981583566 .active1,
#mermaid-1579981583566 .active2,
#mermaid-1579981583566 .active3 {
fill: #bfc7ff;
stroke: #534fbc; }
#mermaid-1579981583566 .activeText0,
#mermaid-1579981583566 .activeText1,
#mermaid-1579981583566 .activeText2,
#mermaid-1579981583566 .activeText3 {
fill: black !important; }
#mermaid-1579981583566 .done0,
#mermaid-1579981583566 .done1,
#mermaid-1579981583566 .done2,
#mermaid-1579981583566 .done3 {
stroke: grey;
fill: lightgrey;
stroke-width: 2; }
#mermaid-1579981583566 .doneText0,
#mermaid-1579981583566 .doneText1,
#mermaid-1579981583566 .doneText2,
#mermaid-1579981583566 .doneText3 {
fill: black !important; }
#mermaid-1579981583566 .crit0,
#mermaid-1579981583566 .crit1,
#mermaid-1579981583566 .crit2,
#mermaid-1579981583566 .crit3 {
stroke: #ff8888;
fill: red;
stroke-width: 2; }
#mermaid-1579981583566 .activeCrit0,
#mermaid-1579981583566 .activeCrit1,
#mermaid-1579981583566 .activeCrit2,
#mermaid-1579981583566 .activeCrit3 {
stroke: #ff8888;
fill: #bfc7ff;
stroke-width: 2; }
#mermaid-1579981583566 .doneCrit0,
#mermaid-1579981583566 .doneCrit1,
#mermaid-1579981583566 .doneCrit2,
#mermaid-1579981583566 .doneCrit3 {
stroke: #ff8888;
fill: lightgrey;
stroke-width: 2;
cursor: pointer;
shape-rendering: crispEdges; }
#mermaid-1579981583566 .milestone {
transform: rotate(45deg) scale(0.8, 0.8); }
#mermaid-1579981583566 .milestoneText {
font-style: italic; }
#mermaid-1579981583566 .doneCritText0,
#mermaid-1579981583566 .doneCritText1,
#mermaid-1579981583566 .doneCritText2,
#mermaid-1579981583566 .doneCritText3 {
fill: black !important; }
#mermaid-1579981583566 .activeCritText0,
#mermaid-1579981583566 .activeCritText1,
#mermaid-1579981583566 .activeCritText2,
#mermaid-1579981583566 .activeCritText3 {
fill: black !important; }
#mermaid-1579981583566 .titleText {
text-anchor: middle;
font-size: 18px;
fill: black;
font-family: 'trebuchet ms', verdana, arial;
font-family: var(--mermaid-font-family); }
#mermaid-1579981583566 g.classGroup text {
fill: #9370DB;
stroke: none;
font-family: 'trebuchet ms', verdana, arial;
font-family: var(--mermaid-font-family);
font-size: 10px; }
#mermaid-1579981583566 g.classGroup text .title {
font-weight: bolder; }
#mermaid-1579981583566 g.clickable {
cursor: pointer; }
#mermaid-1579981583566 g.classGroup rect {
fill: #ECECFF;
stroke: #9370DB; }
#mermaid-1579981583566 g.classGroup line {
stroke: #9370DB;
stroke-width: 1; }
#mermaid-1579981583566 .classLabel .box {
stroke: none;
stroke-width: 0;
fill: #ECECFF;
opacity: 0.5; }
#mermaid-1579981583566 .classLabel .label {
fill: #9370DB;
font-size: 10px; }
#mermaid-1579981583566 .relation {
stroke: #9370DB;
stroke-width: 1;
fill: none; }
#mermaid-1579981583566 .dashed-line {
stroke-dasharray: 3; }
#mermaid-1579981583566 #compositionStart {
fill: #9370DB;
stroke: #9370DB;
stroke-width: 1; }
#mermaid-1579981583566 #compositionEnd {
fill: #9370DB;
stroke: #9370DB;
stroke-width: 1; }
#mermaid-1579981583566 #aggregationStart {
fill: #ECECFF;
stroke: #9370DB;
stroke-width: 1; }
#mermaid-1579981583566 #aggregationEnd {
fill: #ECECFF;
stroke: #9370DB;
stroke-width: 1; }
#mermaid-1579981583566 #dependencyStart {
fill: #9370DB;
stroke: #9370DB;
stroke-width: 1; }
#mermaid-1579981583566 #dependencyEnd {
fill: #9370DB;
stroke: #9370DB;
stroke-width: 1; }
#mermaid-1579981583566 #extensionStart {
fill: #9370DB;
stroke: #9370DB;
stroke-width: 1; }
#mermaid-1579981583566 #extensionEnd {
fill: #9370DB;
stroke: #9370DB;
stroke-width: 1; }
#mermaid-1579981583566 .commit-id,
#mermaid-1579981583566 .commit-msg,
#mermaid-1579981583566 .branch-label {
fill: lightgrey;
color: lightgrey;
font-family: 'trebuchet ms', verdana, arial;
font-family: var(--mermaid-font-family); }
#mermaid-1579981583566 .pieTitleText {
text-anchor: middle;
font-size: 25px;
fill: black;
font-family: 'trebuchet ms', verdana, arial;
font-family: var(--mermaid-font-family); }
#mermaid-1579981583566 .slice {
font-family: 'trebuchet ms', verdana, arial;
font-family: var(--mermaid-font-family); }
#mermaid-1579981583566 g.stateGroup text {
fill: #9370DB;
stroke: none;
font-size: 10px;
font-family: 'trebuchet ms', verdana, arial;
font-family: var(--mermaid-font-family); }
#mermaid-1579981583566 g.stateGroup text {
fill: #9370DB;
stroke: none;
font-size: 10px; }
#mermaid-1579981583566 g.stateGroup .state-title {
font-weight: bolder;
fill: black; }
#mermaid-1579981583566 g.stateGroup rect {
fill: #ECECFF;
stroke: #9370DB; }
#mermaid-1579981583566 g.stateGroup line {
stroke: #9370DB;
stroke-width: 1; }
#mermaid-1579981583566 .transition {
stroke: #9370DB;
stroke-width: 1;
fill: none; }
#mermaid-1579981583566 .stateGroup .composit {
fill: white;
border-bottom: 1px; }
#mermaid-1579981583566 .stateGroup .alt-composit {
fill: #e0e0e0;
border-bottom: 1px; }
#mermaid-1579981583566 .state-note {
stroke: #aaaa33;
fill: #fff5ad; }
#mermaid-1579981583566 .state-note text {
fill: black;
stroke: none;
font-size: 10px; }
#mermaid-1579981583566 .stateLabel .box {
stroke: none;
stroke-width: 0;
fill: #ECECFF;
opacity: 0.5; }
#mermaid-1579981583566 .stateLabel text {
fill: black;
font-size: 10px;
font-weight: bold;
font-family: 'trebuchet ms', verdana, arial;
font-family: var(--mermaid-font-family); }
:root {
--mermaid-font-family: '"trebuchet ms", verdana, arial';
--mermaid-font-family: "Comic Sans MS", "Comic Sans", cursive; }
:root { --mermaid-font-family: "trebuchet ms", verdana, arial;}</style><style>#mermaid-1579981583566 {
color: rgb(0, 0, 0);
font: normal normal 400 normal 16px / normal "trebuchet ms", verdana, arial;
}</style><g transform="translate(0, 0)"><g class="output"><g class="clusters"><g class="cluster" id="subGraph0" transform="translate(441.0234375,78.97608375549316)" style="opacity: 1;"><rect width="574.828125" height="141.95216751098633" x="-287.4140625" y="-70.97608375549316"></rect><g class="label" transform="translate(0, -56.97608184814453)" id="mermaid-1579981583566Text"><g transform="translate(-82.078125,-9.5)"><foreignObject width="164.15625" height="19"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">server (connection RU)</div></foreignObject></g></g></g></g><g class="edgePaths"><g class="edgePath" style="opacity: 1;"><path class="path" d="M75.8125,81.65072250366211L114.7109375,81.65072250366211L153.609375,81.65072250366211L179.109375,82.15072250366211" marker-end="url(#arrowhead644)" style="fill:none"></path><defs><marker id="arrowhead644" viewBox="0 0 10 10" refX="9" refY="5" markerUnits="strokeWidth" markerWidth="8" markerHeight="6" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" class="arrowheadPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"></path></marker></defs></g><g class="edgePath" style="opacity: 1;"><path class="path" d="M345.859375,82.15072250366211L370.359375,81.65072250366211L395.359375,81.65072250366211" marker-end="url(#arrowhead645)" style="fill:none"></path><defs><marker id="arrowhead645" viewBox="0 0 10 10" refX="9" refY="5" markerUnits="strokeWidth" markerWidth="8" markerHeight="6" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" class="arrowheadPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"></path></marker></defs></g><g class="edgePath" style="opacity: 1;"><path class="path" d="M468.15625,81.65072250366211L493.15625,81.65072250366211L518.65625,82.15072250366211" marker-end="url(#arrowhead646)" style="fill:none"></path><defs><marker id="arrowhead646" viewBox="0 0 10 10" refX="9" refY="5" markerUnits="strokeWidth" markerWidth="8" markerHeight="6" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" class="arrowheadPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"></path></marker></defs></g><g class="edgePath" style="opacity: 1;"><path class="path" d="M825.3125,92.91773484360841L776.875,105.80144500732422L728.4375,105.80144500732422L695.313512735249,99.39869703316417" marker-end="url(#arrowhead647)" style="fill:none"></path><defs><marker id="arrowhead647" viewBox="0 0 10 10" refX="9" refY="5" markerUnits="strokeWidth" markerWidth="8" markerHeight="6" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" class="arrowheadPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"></path></marker></defs></g><g class="edgePath" style="opacity: 1;"><path class="path" d="M696.8471344903717,67.9699914844054L728.4375,62.15072250366211L776.875,62.15072250366211L825.3125,72.5534070674205" marker-end="url(#arrowhead648)" style="fill:none"></path><defs><marker id="arrowhead648" viewBox="0 0 10 10" refX="9" refY="5" markerUnits="strokeWidth" markerWidth="8" markerHeight="6" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" class="arrowheadPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"></path></marker></defs></g></g><g class="edgeLabels"><g class="edgeLabel" transform="translate(114.7109375,81.65072250366211)" style="opacity: 1;"><g transform="translate(-13.8984375,-9.5)" class="label"><foreignObject width="27.796875" height="19"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span class="edgeLabel">msg</span></div></foreignObject></g></g><g class="edgeLabel" transform="" style="opacity: 1;"><g transform="translate(0,0)" class="label"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel" transform="" style="opacity: 1;"><g transform="translate(0,0)" class="label"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel" transform="translate(776.875,105.80144500732422)" style="opacity: 1;"><g transform="translate(-21.4765625,-9.5)" class="label"><foreignObject width="42.953125" height="19"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span class="edgeLabel">1) req</span></div></foreignObject></g></g><g class="edgeLabel" transform="translate(776.875,62.15072250366211)" style="opacity: 1;"><g transform="translate(-23.4375,-9.5)" class="label"><foreignObject width="46.875" height="19"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span class="edgeLabel">2) msg</span></div></foreignObject></g></g></g><g class="nodes"><g class="node" id="DB" label-offset-y="9.200963741211785" transform="translate(431.7578125,81.65072250366211)" style="opacity: 1;"><path d="M 0,9.200963741211785 a 36.3984375,9.200963741211785 0,0,0 72.796875 0 a 36.3984375,9.200963741211785 0,0,0 -72.796875 0 l 0,48.20096374121179 a 36.3984375,9.200963741211785 0,0,0 72.796875 0 l 0,-48.20096374121179" transform="translate(-36.3984375,-33.30144561181768)" class="label-container"></path><g class="label" transform="translate(0,0)"><g transform="translate(-26.3984375,-9.5)"><foreignObject width="52.796875" height="19"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">storage</div></foreignObject></g></g></g><g class="node" id="VS" transform="translate(261.984375,81.65072250366211)" style="opacity: 1;"><polygon points="9.75,0 157,0 166.75,-19.5 157,-39 9.75,-39 0,-19.5" transform="translate(-83.375,19.5)" class="label-container"></polygon><g class="label" transform="translate(0,0)"><g transform="translate(-63.625,-9.5)"><foreignObject width="127.25" height="19"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">verify sender (SK)</div></foreignObject></g></g></g><g class="node" id="VR" transform="translate(610.796875,81.65072250366211)" style="opacity: 1;"><polygon points="9.75,0 175.53125,0 185.28125,-19.5 175.53125,-39 9.75,-39 0,-19.5" transform="translate(-92.640625,19.5)" class="label-container"></polygon><g class="label" transform="translate(0,0)"><g transform="translate(-72.890625,-9.5)"><foreignObject width="145.78125" height="19"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">verify recipient (RK)</div></foreignObject></g></g></g><g class="node" id="S" transform="translate(41.90625,81.65072250366211)" style="opacity: 1;"><rect rx="5" ry="5" x="-33.90625" y="-19.5" width="67.8125" height="39" class="label-container"></rect><g class="label" transform="translate(0,0)"><g transform="translate(-23.90625,-9.5)"><foreignObject width="47.8125" height="19"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">sender</div></foreignObject></g></g></g><g class="node" id="R" transform="translate(867.671875,81.65072250366211)" style="opacity: 1;"><rect rx="5" ry="5" x="-42.359375" y="-19.5" width="84.71875" height="39" class="label-container"></rect><g class="label" transform="translate(0,0)"><g transform="translate(-32.359375,-9.5)"><foreignObject width="64.71875" height="19"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">recipient</div></foreignObject></g></g></g></g></g></g></svg>