2563 lines
63 KiB
Plaintext
2563 lines
63 KiB
Plaintext
{
|
|
"type": "excalidraw",
|
|
"version": 2,
|
|
"source": "https://excalidraw.com",
|
|
"elements": [
|
|
{
|
|
"type": "rectangle",
|
|
"version": 459,
|
|
"versionNonce": 1303879278,
|
|
"isDeleted": false,
|
|
"id": "iBsOeHh_qqZO_mnwZ0Rw9",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 2,
|
|
"strokeStyle": "solid",
|
|
"roughness": 0,
|
|
"opacity": 10,
|
|
"angle": 0,
|
|
"x": -1518,
|
|
"y": 21.125,
|
|
"strokeColor": "#d9480f",
|
|
"backgroundColor": "#fd7e14",
|
|
"width": 195,
|
|
"height": 93.75000000000001,
|
|
"seed": 116865425,
|
|
"groupIds": [],
|
|
"strokeSharpness": "sharp",
|
|
"boundElementIds": []
|
|
},
|
|
{
|
|
"type": "rectangle",
|
|
"version": 430,
|
|
"versionNonce": 1105872754,
|
|
"isDeleted": false,
|
|
"id": "bxlduMU9sQoQPQJK0o00c",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 2,
|
|
"strokeStyle": "solid",
|
|
"roughness": 0,
|
|
"opacity": 10,
|
|
"angle": 0,
|
|
"x": -1661.75,
|
|
"y": 17.375,
|
|
"strokeColor": "#d9480f",
|
|
"backgroundColor": "#fd7e14",
|
|
"width": 135,
|
|
"height": 98.75,
|
|
"seed": 1610760241,
|
|
"groupIds": [],
|
|
"strokeSharpness": "sharp",
|
|
"boundElementIds": []
|
|
},
|
|
{
|
|
"type": "rectangle",
|
|
"version": 386,
|
|
"versionNonce": 1582669998,
|
|
"isDeleted": false,
|
|
"id": "7sP8ouwk_qO07n-Ra15F_",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 2,
|
|
"strokeStyle": "solid",
|
|
"roughness": 0,
|
|
"opacity": 10,
|
|
"angle": 0,
|
|
"x": -1663,
|
|
"y": 128.625,
|
|
"strokeColor": "#d9480f",
|
|
"backgroundColor": "#fd7e14",
|
|
"width": 133.75000000000006,
|
|
"height": 32.50000000000001,
|
|
"seed": 1310857759,
|
|
"groupIds": [],
|
|
"strokeSharpness": "sharp",
|
|
"boundElementIds": []
|
|
},
|
|
{
|
|
"type": "rectangle",
|
|
"version": 359,
|
|
"versionNonce": 332695858,
|
|
"isDeleted": false,
|
|
"id": "QON1YXICAWxI8zSIUwisG",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 1,
|
|
"strokeStyle": "solid",
|
|
"roughness": 0,
|
|
"opacity": 30,
|
|
"angle": 0,
|
|
"x": 234,
|
|
"y": 226,
|
|
"strokeColor": "#000000",
|
|
"backgroundColor": "#82c91e",
|
|
"width": 328,
|
|
"height": 180,
|
|
"seed": 107680127,
|
|
"groupIds": [],
|
|
"strokeSharpness": "sharp",
|
|
"boundElementIds": []
|
|
},
|
|
{
|
|
"type": "rectangle",
|
|
"version": 418,
|
|
"versionNonce": 679041774,
|
|
"isDeleted": false,
|
|
"id": "oHLfHQWZbru1hnBA3oVGb",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 1,
|
|
"strokeStyle": "solid",
|
|
"roughness": 0,
|
|
"opacity": 30,
|
|
"angle": 0,
|
|
"x": 233,
|
|
"y": -137,
|
|
"strokeColor": "#000000",
|
|
"backgroundColor": "#15aabf",
|
|
"width": 327,
|
|
"height": 136,
|
|
"seed": 542852959,
|
|
"groupIds": [],
|
|
"strokeSharpness": "sharp",
|
|
"boundElementIds": []
|
|
},
|
|
{
|
|
"type": "rectangle",
|
|
"version": 554,
|
|
"versionNonce": 982553330,
|
|
"isDeleted": false,
|
|
"id": "AQNkqmwsJsXbwSLb6KjQG",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 1,
|
|
"strokeStyle": "solid",
|
|
"roughness": 0,
|
|
"opacity": 30,
|
|
"angle": 0,
|
|
"x": 232,
|
|
"y": 7.999999999999943,
|
|
"strokeColor": "#000000",
|
|
"backgroundColor": "#fab005",
|
|
"width": 328,
|
|
"height": 205.00000000000006,
|
|
"seed": 381258207,
|
|
"groupIds": [],
|
|
"strokeSharpness": "sharp",
|
|
"boundElementIds": []
|
|
},
|
|
{
|
|
"type": "text",
|
|
"version": 342,
|
|
"versionNonce": 1655426350,
|
|
"isDeleted": false,
|
|
"id": "z5GxS4ZiHT06NRXuK0rN2",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 1,
|
|
"strokeStyle": "solid",
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"angle": 0,
|
|
"x": 154,
|
|
"y": -169.5,
|
|
"strokeColor": "#000000",
|
|
"backgroundColor": "transparent",
|
|
"width": 73,
|
|
"height": 32,
|
|
"seed": 1522021023,
|
|
"groupIds": [],
|
|
"strokeSharpness": "sharp",
|
|
"boundElementIds": [],
|
|
"fontSize": 20,
|
|
"fontFamily": 1,
|
|
"text": "client A",
|
|
"baseline": 23,
|
|
"textAlign": "left",
|
|
"verticalAlign": "top"
|
|
},
|
|
{
|
|
"type": "rectangle",
|
|
"version": 752,
|
|
"versionNonce": 1218798770,
|
|
"isDeleted": false,
|
|
"id": "qmD4baVtl18qfKN7-xEpa",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 1,
|
|
"strokeStyle": "solid",
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"angle": 0,
|
|
"x": 112,
|
|
"y": -131,
|
|
"strokeColor": "#000000",
|
|
"backgroundColor": "transparent",
|
|
"width": 132,
|
|
"height": 625,
|
|
"seed": 412821553,
|
|
"groupIds": [],
|
|
"strokeSharpness": "sharp",
|
|
"boundElementIds": [
|
|
"qx5eSUV_a-Kr2QqaYxh08",
|
|
"cWncaEPtw9ToDdtqBA_mP",
|
|
"i7kQVlx6oJJ2N_BhQygit",
|
|
"j0U-NYoT10Pwnr6RGX8yG",
|
|
"pt5o-bfysPk1LMAzVnK8m",
|
|
"TrZe1QdV-QLB2ueucIYIY",
|
|
"h25jFYabI75XJqi2waRvU",
|
|
"5MkfzaOeEWPEYTgmQeCY1",
|
|
"OkxGtdraEKp9uhgPxxA4E",
|
|
"ypv3pPUp8KLQC1e7hxJqj",
|
|
"aMZppMCDOLth5BHQF3T1Q",
|
|
"3XY2tjUiIsFbB0UqkFIdm"
|
|
]
|
|
},
|
|
{
|
|
"type": "text",
|
|
"version": 207,
|
|
"versionNonce": 173406062,
|
|
"isDeleted": false,
|
|
"id": "UIJmNrmhshUCw_6MyOZTs",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 1,
|
|
"strokeStyle": "solid",
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"angle": 0,
|
|
"x": 583,
|
|
"y": -164.5,
|
|
"strokeColor": "#000000",
|
|
"backgroundColor": "transparent",
|
|
"width": 74,
|
|
"height": 32,
|
|
"seed": 1004723665,
|
|
"groupIds": [],
|
|
"strokeSharpness": "sharp",
|
|
"boundElementIds": [],
|
|
"fontSize": 20,
|
|
"fontFamily": 1,
|
|
"text": "client B",
|
|
"baseline": 23,
|
|
"textAlign": "left",
|
|
"verticalAlign": "top"
|
|
},
|
|
{
|
|
"type": "rectangle",
|
|
"version": 447,
|
|
"versionNonce": 1740242546,
|
|
"isDeleted": false,
|
|
"id": "kpX3LbcK5WMV9WpB9yzf7",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 1,
|
|
"strokeStyle": "solid",
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"angle": 0,
|
|
"x": 551,
|
|
"y": -133,
|
|
"strokeColor": "#000000",
|
|
"backgroundColor": "transparent",
|
|
"width": 152,
|
|
"height": 628,
|
|
"seed": 1485260927,
|
|
"groupIds": [],
|
|
"strokeSharpness": "sharp",
|
|
"boundElementIds": [
|
|
"qx5eSUV_a-Kr2QqaYxh08",
|
|
"cWncaEPtw9ToDdtqBA_mP",
|
|
"i7kQVlx6oJJ2N_BhQygit",
|
|
"j0U-NYoT10Pwnr6RGX8yG",
|
|
"pt5o-bfysPk1LMAzVnK8m",
|
|
"TrZe1QdV-QLB2ueucIYIY",
|
|
"h25jFYabI75XJqi2waRvU",
|
|
"5MkfzaOeEWPEYTgmQeCY1",
|
|
"OkxGtdraEKp9uhgPxxA4E",
|
|
"ypv3pPUp8KLQC1e7hxJqj",
|
|
"aMZppMCDOLth5BHQF3T1Q",
|
|
"3XY2tjUiIsFbB0UqkFIdm"
|
|
]
|
|
},
|
|
{
|
|
"type": "text",
|
|
"version": 482,
|
|
"versionNonce": 130079150,
|
|
"isDeleted": false,
|
|
"id": "mmm790EgwKi25IIHUU6Ru",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 1,
|
|
"strokeStyle": "solid",
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"angle": 0,
|
|
"x": 312,
|
|
"y": -111.5,
|
|
"strokeColor": "#000000",
|
|
"backgroundColor": "transparent",
|
|
"width": 180,
|
|
"height": 64,
|
|
"seed": 1589549215,
|
|
"groupIds": [],
|
|
"strokeSharpness": "sharp",
|
|
"boundElementIds": [
|
|
"qx5eSUV_a-Kr2QqaYxh08"
|
|
],
|
|
"fontSize": 20,
|
|
"fontFamily": 1,
|
|
"text": "\n{GREET, pubkeyA}",
|
|
"baseline": 55,
|
|
"textAlign": "left",
|
|
"verticalAlign": "top"
|
|
},
|
|
{
|
|
"type": "text",
|
|
"version": 789,
|
|
"versionNonce": 1955946546,
|
|
"isDeleted": false,
|
|
"id": "U7MyCa2vEM-bZHiyP63g6",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 1,
|
|
"strokeStyle": "solid",
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"angle": 0,
|
|
"x": 289,
|
|
"y": 15.5,
|
|
"strokeColor": "#c92a2a",
|
|
"backgroundColor": "transparent",
|
|
"width": 216,
|
|
"height": 64,
|
|
"seed": 1981825905,
|
|
"groupIds": [],
|
|
"strokeSharpness": "sharp",
|
|
"boundElementIds": [],
|
|
"fontSize": 20,
|
|
"fontFamily": 1,
|
|
"text": "pubkeyA ENCRYPTED\n{GREET, pubkeyB}",
|
|
"baseline": 55,
|
|
"textAlign": "left",
|
|
"verticalAlign": "top"
|
|
},
|
|
{
|
|
"type": "text",
|
|
"version": 973,
|
|
"versionNonce": 1377137646,
|
|
"isDeleted": false,
|
|
"id": "MTbO0iAcWmqLEPow0A0Ov",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 1,
|
|
"strokeStyle": "solid",
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"angle": 0,
|
|
"x": 263,
|
|
"y": 116.5,
|
|
"strokeColor": "#c92a2a",
|
|
"backgroundColor": "transparent",
|
|
"width": 217,
|
|
"height": 64,
|
|
"seed": 448400785,
|
|
"groupIds": [],
|
|
"strokeSharpness": "sharp",
|
|
"boundElementIds": [],
|
|
"fontSize": 20,
|
|
"fontFamily": 1,
|
|
"text": "pubkeyB ENCRYPTED\n{AES token}",
|
|
"baseline": 55,
|
|
"textAlign": "left",
|
|
"verticalAlign": "top"
|
|
},
|
|
{
|
|
"type": "arrow",
|
|
"version": 503,
|
|
"versionNonce": 454986226,
|
|
"isDeleted": false,
|
|
"id": "5MkfzaOeEWPEYTgmQeCY1",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 2,
|
|
"strokeStyle": "solid",
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"angle": 0,
|
|
"x": 245,
|
|
"y": -44,
|
|
"strokeColor": "#000000",
|
|
"backgroundColor": "#82c91e",
|
|
"width": 305,
|
|
"height": 1,
|
|
"seed": 188913471,
|
|
"groupIds": [],
|
|
"strokeSharpness": "round",
|
|
"boundElementIds": [],
|
|
"startBinding": {
|
|
"elementId": "qmD4baVtl18qfKN7-xEpa",
|
|
"focus": -0.7203982029493021,
|
|
"gap": 1
|
|
},
|
|
"endBinding": {
|
|
"elementId": "kpX3LbcK5WMV9WpB9yzf7",
|
|
"focus": 0.7199778811844001,
|
|
"gap": 1
|
|
},
|
|
"points": [
|
|
[
|
|
0,
|
|
0
|
|
],
|
|
[
|
|
305,
|
|
-1
|
|
]
|
|
],
|
|
"lastCommittedPoint": null,
|
|
"startArrowhead": null,
|
|
"endArrowhead": "arrow"
|
|
},
|
|
{
|
|
"type": "arrow",
|
|
"version": 509,
|
|
"versionNonce": 324847150,
|
|
"isDeleted": false,
|
|
"id": "OkxGtdraEKp9uhgPxxA4E",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 2,
|
|
"strokeStyle": "solid",
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"angle": 0,
|
|
"x": 548,
|
|
"y": 93,
|
|
"strokeColor": "#c92a2a",
|
|
"backgroundColor": "#82c91e",
|
|
"width": 304,
|
|
"height": 4,
|
|
"seed": 1280732767,
|
|
"groupIds": [],
|
|
"strokeSharpness": "round",
|
|
"boundElementIds": [],
|
|
"startBinding": {
|
|
"elementId": "kpX3LbcK5WMV9WpB9yzf7",
|
|
"focus": 0.2760651629072681,
|
|
"gap": 3
|
|
},
|
|
"endBinding": {
|
|
"elementId": "qmD4baVtl18qfKN7-xEpa",
|
|
"focus": -0.2979509573396036,
|
|
"gap": 1
|
|
},
|
|
"points": [
|
|
[
|
|
0,
|
|
0
|
|
],
|
|
[
|
|
-304,
|
|
-4
|
|
]
|
|
],
|
|
"lastCommittedPoint": null,
|
|
"startArrowhead": null,
|
|
"endArrowhead": "arrow"
|
|
},
|
|
{
|
|
"type": "arrow",
|
|
"version": 511,
|
|
"versionNonce": 1918663602,
|
|
"isDeleted": false,
|
|
"id": "ypv3pPUp8KLQC1e7hxJqj",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 2,
|
|
"strokeStyle": "solid",
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"angle": 0,
|
|
"x": 246,
|
|
"y": 185,
|
|
"strokeColor": "#c92a2a",
|
|
"backgroundColor": "#82c91e",
|
|
"width": 305,
|
|
"height": 1,
|
|
"seed": 1248580241,
|
|
"groupIds": [],
|
|
"strokeSharpness": "round",
|
|
"boundElementIds": [],
|
|
"startBinding": {
|
|
"elementId": "qmD4baVtl18qfKN7-xEpa",
|
|
"focus": 0.010479300890661944,
|
|
"gap": 2
|
|
},
|
|
"endBinding": {
|
|
"elementId": "kpX3LbcK5WMV9WpB9yzf7",
|
|
"focus": -0.016703879139452874,
|
|
"gap": 1
|
|
},
|
|
"points": [
|
|
[
|
|
0,
|
|
0
|
|
],
|
|
[
|
|
305,
|
|
1
|
|
]
|
|
],
|
|
"lastCommittedPoint": null,
|
|
"startArrowhead": null,
|
|
"endArrowhead": "arrow"
|
|
},
|
|
{
|
|
"type": "text",
|
|
"version": 637,
|
|
"versionNonce": 1283444846,
|
|
"isDeleted": false,
|
|
"id": "TYEPsBH8kmagfGmgCTZlz",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 1,
|
|
"strokeStyle": "solid",
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"angle": 0,
|
|
"x": 338,
|
|
"y": 236.5,
|
|
"strokeColor": "#364fc7",
|
|
"backgroundColor": "#82c91e",
|
|
"width": 102,
|
|
"height": 32,
|
|
"seed": 155093713,
|
|
"groupIds": [],
|
|
"strokeSharpness": "sharp",
|
|
"boundElementIds": [],
|
|
"fontSize": 20,
|
|
"fontFamily": 1,
|
|
"text": "{FRIEND}",
|
|
"baseline": 23,
|
|
"textAlign": "left",
|
|
"verticalAlign": "top"
|
|
},
|
|
{
|
|
"type": "arrow",
|
|
"version": 557,
|
|
"versionNonce": 410400114,
|
|
"isDeleted": false,
|
|
"id": "aMZppMCDOLth5BHQF3T1Q",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 2,
|
|
"strokeStyle": "solid",
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"angle": 0,
|
|
"x": 549,
|
|
"y": 268,
|
|
"strokeColor": "#364fc7",
|
|
"backgroundColor": "#82c91e",
|
|
"width": 304,
|
|
"height": 1,
|
|
"seed": 608034193,
|
|
"groupIds": [],
|
|
"strokeSharpness": "round",
|
|
"boundElementIds": [],
|
|
"startBinding": {
|
|
"elementId": "kpX3LbcK5WMV9WpB9yzf7",
|
|
"focus": -0.2776661223464388,
|
|
"gap": 2
|
|
},
|
|
"endBinding": {
|
|
"elementId": "qmD4baVtl18qfKN7-xEpa",
|
|
"focus": 0.27270527843813774,
|
|
"gap": 1
|
|
},
|
|
"points": [
|
|
[
|
|
0,
|
|
0
|
|
],
|
|
[
|
|
-304,
|
|
-1
|
|
]
|
|
],
|
|
"lastCommittedPoint": null,
|
|
"startArrowhead": null,
|
|
"endArrowhead": "arrow"
|
|
},
|
|
{
|
|
"type": "text",
|
|
"version": 361,
|
|
"versionNonce": 2034733742,
|
|
"isDeleted": false,
|
|
"id": "emLFydH8C-yixIWzQMcdC",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 1,
|
|
"strokeStyle": "solid",
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"angle": 0,
|
|
"x": 268,
|
|
"y": 311.5,
|
|
"strokeColor": "#364fc7",
|
|
"backgroundColor": "#82c91e",
|
|
"width": 102,
|
|
"height": 32,
|
|
"seed": 787642737,
|
|
"groupIds": [],
|
|
"strokeSharpness": "sharp",
|
|
"boundElementIds": [],
|
|
"fontSize": 20,
|
|
"fontFamily": 1,
|
|
"text": "{FRIEND}",
|
|
"baseline": 23,
|
|
"textAlign": "left",
|
|
"verticalAlign": "top"
|
|
},
|
|
{
|
|
"type": "arrow",
|
|
"version": 541,
|
|
"versionNonce": 1320335154,
|
|
"isDeleted": false,
|
|
"id": "3XY2tjUiIsFbB0UqkFIdm",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 2,
|
|
"strokeStyle": "solid",
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"angle": 0,
|
|
"x": 247.99999999999997,
|
|
"y": 353,
|
|
"strokeColor": "#364fc7",
|
|
"backgroundColor": "#82c91e",
|
|
"width": 301,
|
|
"height": 1,
|
|
"seed": 2005196497,
|
|
"groupIds": [],
|
|
"strokeSharpness": "round",
|
|
"boundElementIds": [],
|
|
"startBinding": {
|
|
"elementId": "qmD4baVtl18qfKN7-xEpa",
|
|
"focus": 0.5476715341262212,
|
|
"gap": 3.9999999999999716
|
|
},
|
|
"endBinding": {
|
|
"elementId": "kpX3LbcK5WMV9WpB9yzf7",
|
|
"focus": -0.5513373506713184,
|
|
"gap": 2
|
|
},
|
|
"points": [
|
|
[
|
|
0,
|
|
0
|
|
],
|
|
[
|
|
301,
|
|
1
|
|
]
|
|
],
|
|
"lastCommittedPoint": null,
|
|
"startArrowhead": null,
|
|
"endArrowhead": "arrow"
|
|
},
|
|
{
|
|
"type": "text",
|
|
"version": 836,
|
|
"versionNonce": 878513390,
|
|
"isDeleted": false,
|
|
"id": "LTAMbpxlNoGXalgDinjnv",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 1,
|
|
"strokeStyle": "solid",
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"angle": 0,
|
|
"x": 564,
|
|
"y": 75.5,
|
|
"strokeColor": "#c92a2a",
|
|
"backgroundColor": "#82c91e",
|
|
"width": 98,
|
|
"height": 32,
|
|
"seed": 1108497266,
|
|
"groupIds": [],
|
|
"strokeSharpness": "sharp",
|
|
"boundElementIds": [],
|
|
"fontSize": 20,
|
|
"fontFamily": 1,
|
|
"text": "RSA-OAEP",
|
|
"baseline": 23,
|
|
"textAlign": "left",
|
|
"verticalAlign": "top"
|
|
},
|
|
{
|
|
"type": "text",
|
|
"version": 453,
|
|
"versionNonce": 360251634,
|
|
"isDeleted": false,
|
|
"id": "m1dHqnEE981sO4lteZH-m",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 2,
|
|
"strokeStyle": "solid",
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"angle": 0,
|
|
"x": 130,
|
|
"y": -64.5,
|
|
"strokeColor": "#000000",
|
|
"backgroundColor": "#82c91e",
|
|
"width": 92,
|
|
"height": 32,
|
|
"seed": 1400971758,
|
|
"groupIds": [],
|
|
"strokeSharpness": "sharp",
|
|
"boundElementIds": [],
|
|
"fontSize": 20,
|
|
"fontFamily": 1,
|
|
"text": "Plaintext",
|
|
"baseline": 23,
|
|
"textAlign": "left",
|
|
"verticalAlign": "top"
|
|
},
|
|
{
|
|
"type": "text",
|
|
"version": 315,
|
|
"versionNonce": 1531526958,
|
|
"isDeleted": false,
|
|
"id": "oHz_bYkqQYD1Cgr_4ImN7",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 2,
|
|
"strokeStyle": "solid",
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"angle": 0,
|
|
"x": 570,
|
|
"y": 340.5,
|
|
"strokeColor": "#364fc7",
|
|
"backgroundColor": "#82c91e",
|
|
"width": 38,
|
|
"height": 32,
|
|
"seed": 282779954,
|
|
"groupIds": [],
|
|
"strokeSharpness": "sharp",
|
|
"boundElementIds": [],
|
|
"fontSize": 20,
|
|
"fontFamily": 1,
|
|
"text": "AES",
|
|
"baseline": 23,
|
|
"textAlign": "left",
|
|
"verticalAlign": "top"
|
|
},
|
|
{
|
|
"type": "text",
|
|
"version": 162,
|
|
"versionNonce": 1213207218,
|
|
"isDeleted": false,
|
|
"id": "TryeMkpCehzAqrNlT9RoN",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 2,
|
|
"strokeStyle": "solid",
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"angle": 0,
|
|
"x": 268,
|
|
"y": -214.5,
|
|
"strokeColor": "#000000",
|
|
"backgroundColor": "#82c91e",
|
|
"width": 268,
|
|
"height": 32,
|
|
"seed": 928852977,
|
|
"groupIds": [],
|
|
"strokeSharpness": "sharp",
|
|
"boundElementIds": [],
|
|
"fontSize": 20,
|
|
"fontFamily": 1,
|
|
"text": "pubkey->AES token greeting",
|
|
"baseline": 23,
|
|
"textAlign": "left",
|
|
"verticalAlign": "top"
|
|
},
|
|
{
|
|
"type": "text",
|
|
"version": 48,
|
|
"versionNonce": 846539118,
|
|
"isDeleted": false,
|
|
"id": "GBupDB8TweNlUSVv5bjWe",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 2,
|
|
"strokeStyle": "solid",
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"angle": 0,
|
|
"x": -635,
|
|
"y": -206.5,
|
|
"strokeColor": "#000000",
|
|
"backgroundColor": "#82c91e",
|
|
"width": 202,
|
|
"height": 32,
|
|
"seed": 626925745,
|
|
"groupIds": [],
|
|
"strokeSharpness": "sharp",
|
|
"boundElementIds": [],
|
|
"fontSize": 20,
|
|
"fontFamily": 1,
|
|
"text": "UDP NAT Traversal",
|
|
"baseline": 23,
|
|
"textAlign": "left",
|
|
"verticalAlign": "top"
|
|
},
|
|
{
|
|
"type": "rectangle",
|
|
"version": 321,
|
|
"versionNonce": 970910834,
|
|
"isDeleted": false,
|
|
"id": "ubeGmwQ1srGKZJX-c-MkA",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 2,
|
|
"strokeStyle": "solid",
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"angle": 0,
|
|
"x": -778,
|
|
"y": -152,
|
|
"strokeColor": "#000000",
|
|
"backgroundColor": "transparent",
|
|
"width": 582,
|
|
"height": 256,
|
|
"seed": 1131438289,
|
|
"groupIds": [],
|
|
"strokeSharpness": "sharp",
|
|
"boundElementIds": []
|
|
},
|
|
{
|
|
"type": "text",
|
|
"version": 37,
|
|
"versionNonce": 153734062,
|
|
"isDeleted": false,
|
|
"id": "TooWCMZWcd7PFcv28y3qX",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 2,
|
|
"strokeStyle": "solid",
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"angle": 0,
|
|
"x": -736,
|
|
"y": -120.5,
|
|
"strokeColor": "#000000",
|
|
"backgroundColor": "transparent",
|
|
"width": 63,
|
|
"height": 32,
|
|
"seed": 1741275153,
|
|
"groupIds": [],
|
|
"strokeSharpness": "sharp",
|
|
"boundElementIds": [
|
|
"nXu3vfHy0PjxI5zvPEjQR"
|
|
],
|
|
"fontSize": 20,
|
|
"fontFamily": 1,
|
|
"text": "clientA",
|
|
"baseline": 23,
|
|
"textAlign": "left",
|
|
"verticalAlign": "top"
|
|
},
|
|
{
|
|
"type": "text",
|
|
"version": 133,
|
|
"versionNonce": 1340902962,
|
|
"isDeleted": false,
|
|
"id": "swWXmQ4wJ-CrOXcnVsNgK",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 2,
|
|
"strokeStyle": "solid",
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"angle": 0,
|
|
"x": -742,
|
|
"y": -14.5,
|
|
"strokeColor": "#000000",
|
|
"backgroundColor": "transparent",
|
|
"width": 64,
|
|
"height": 32,
|
|
"seed": 1410993873,
|
|
"groupIds": [],
|
|
"strokeSharpness": "sharp",
|
|
"boundElementIds": [
|
|
"vmtcqvAp9iv2l8mJbBfkz"
|
|
],
|
|
"fontSize": 20,
|
|
"fontFamily": 1,
|
|
"text": "clientB",
|
|
"baseline": 23,
|
|
"textAlign": "left",
|
|
"verticalAlign": "top"
|
|
},
|
|
{
|
|
"type": "text",
|
|
"version": 115,
|
|
"versionNonce": 1569727982,
|
|
"isDeleted": false,
|
|
"id": "oUW3tKOZJbCumt_meec0p",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 2,
|
|
"strokeStyle": "solid",
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"angle": 0,
|
|
"x": -404,
|
|
"y": -53.5,
|
|
"strokeColor": "#000000",
|
|
"backgroundColor": "transparent",
|
|
"width": 83,
|
|
"height": 32,
|
|
"seed": 1966543857,
|
|
"groupIds": [],
|
|
"strokeSharpness": "sharp",
|
|
"boundElementIds": [
|
|
"nXu3vfHy0PjxI5zvPEjQR",
|
|
"vmtcqvAp9iv2l8mJbBfkz"
|
|
],
|
|
"fontSize": 20,
|
|
"fontFamily": 1,
|
|
"text": "mediator",
|
|
"baseline": 23,
|
|
"textAlign": "left",
|
|
"verticalAlign": "top"
|
|
},
|
|
{
|
|
"type": "arrow",
|
|
"version": 96,
|
|
"versionNonce": 526383090,
|
|
"isDeleted": false,
|
|
"id": "nXu3vfHy0PjxI5zvPEjQR",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 2,
|
|
"strokeStyle": "solid",
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"angle": 0,
|
|
"x": -663,
|
|
"y": -99,
|
|
"strokeColor": "#000000",
|
|
"backgroundColor": "transparent",
|
|
"width": 253,
|
|
"height": 68,
|
|
"seed": 1719220671,
|
|
"groupIds": [],
|
|
"strokeSharpness": "round",
|
|
"boundElementIds": [],
|
|
"startBinding": {
|
|
"elementId": "TooWCMZWcd7PFcv28y3qX",
|
|
"focus": -0.23109854604200325,
|
|
"gap": 10
|
|
},
|
|
"endBinding": {
|
|
"elementId": "oUW3tKOZJbCumt_meec0p",
|
|
"focus": -0.7095342066957788,
|
|
"gap": 6
|
|
},
|
|
"points": [
|
|
[
|
|
0,
|
|
0
|
|
],
|
|
[
|
|
253,
|
|
68
|
|
]
|
|
],
|
|
"lastCommittedPoint": null,
|
|
"startArrowhead": null,
|
|
"endArrowhead": "arrow"
|
|
},
|
|
{
|
|
"type": "arrow",
|
|
"version": 295,
|
|
"versionNonce": 11614254,
|
|
"isDeleted": false,
|
|
"id": "vmtcqvAp9iv2l8mJbBfkz",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 2,
|
|
"strokeStyle": "solid",
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"angle": 0,
|
|
"x": -671,
|
|
"y": 13.153550321918,
|
|
"strokeColor": "#000000",
|
|
"backgroundColor": "transparent",
|
|
"width": 262,
|
|
"height": 44.98352286479208,
|
|
"seed": 2050883761,
|
|
"groupIds": [],
|
|
"strokeSharpness": "round",
|
|
"boundElementIds": [],
|
|
"startBinding": {
|
|
"elementId": "swWXmQ4wJ-CrOXcnVsNgK",
|
|
"focus": 0.8539309954751131,
|
|
"gap": 7
|
|
},
|
|
"endBinding": {
|
|
"elementId": "oUW3tKOZJbCumt_meec0p",
|
|
"focus": 0.10005033979360684,
|
|
"gap": 5
|
|
},
|
|
"points": [
|
|
[
|
|
0,
|
|
0
|
|
],
|
|
[
|
|
262,
|
|
-44.98352286479208
|
|
]
|
|
],
|
|
"lastCommittedPoint": null,
|
|
"startArrowhead": null,
|
|
"endArrowhead": "arrow"
|
|
},
|
|
{
|
|
"type": "text",
|
|
"version": 346,
|
|
"versionNonce": 138422706,
|
|
"isDeleted": false,
|
|
"id": "Y2J3ZLqvwfp6dzzY10hzX",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 2,
|
|
"strokeStyle": "solid",
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"angle": 0,
|
|
"x": -707,
|
|
"y": 38.5,
|
|
"strokeColor": "#000000",
|
|
"backgroundColor": "transparent",
|
|
"width": 427,
|
|
"height": 64,
|
|
"seed": 330499057,
|
|
"groupIds": [],
|
|
"strokeSharpness": "sharp",
|
|
"boundElementIds": [],
|
|
"fontSize": 20,
|
|
"fontFamily": 1,
|
|
"text": "both clients have a reliable UDP connection\nto the mediator",
|
|
"baseline": 55,
|
|
"textAlign": "left",
|
|
"verticalAlign": "top"
|
|
},
|
|
{
|
|
"type": "rectangle",
|
|
"version": 122,
|
|
"versionNonce": 980812398,
|
|
"isDeleted": false,
|
|
"id": "2-chYscD9SQKoLKEayg0U",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 2,
|
|
"strokeStyle": "solid",
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"angle": 0,
|
|
"x": -780,
|
|
"y": 150,
|
|
"strokeColor": "#000000",
|
|
"backgroundColor": "transparent",
|
|
"width": 585,
|
|
"height": 230,
|
|
"seed": 702725759,
|
|
"groupIds": [],
|
|
"strokeSharpness": "sharp",
|
|
"boundElementIds": []
|
|
},
|
|
{
|
|
"type": "text",
|
|
"version": 39,
|
|
"versionNonce": 1370760050,
|
|
"isDeleted": false,
|
|
"id": "WCzp-SCyTsa4SI0A6p8me",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 2,
|
|
"strokeStyle": "solid",
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"angle": 0,
|
|
"x": -354,
|
|
"y": 249.5,
|
|
"strokeColor": "#000000",
|
|
"backgroundColor": "transparent",
|
|
"width": 83,
|
|
"height": 32,
|
|
"seed": 1701781937,
|
|
"groupIds": [],
|
|
"strokeSharpness": "sharp",
|
|
"boundElementIds": [
|
|
"Mny3L3VSLeNImwwJm3X80",
|
|
"rcyyyUKeqcrMZ5irlTfgC",
|
|
"sdQd-trJBBMK-eLDF-KtC"
|
|
],
|
|
"fontSize": 20,
|
|
"fontFamily": 1,
|
|
"text": "mediator",
|
|
"baseline": 23,
|
|
"textAlign": "left",
|
|
"verticalAlign": "top"
|
|
},
|
|
{
|
|
"type": "text",
|
|
"version": 332,
|
|
"versionNonce": 1839695022,
|
|
"isDeleted": false,
|
|
"id": "9rx1dVjyqPOn4W4q7VsJY",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 2,
|
|
"strokeStyle": "solid",
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"angle": 0,
|
|
"x": -717,
|
|
"y": 316.5,
|
|
"strokeColor": "#000000",
|
|
"backgroundColor": "transparent",
|
|
"width": 418,
|
|
"height": 64,
|
|
"seed": 303842463,
|
|
"groupIds": [],
|
|
"strokeSharpness": "sharp",
|
|
"boundElementIds": [],
|
|
"fontSize": 20,
|
|
"fontFamily": 1,
|
|
"text": "clientA asks to talk to clientB\n(mediator returns address:port to clientA)",
|
|
"baseline": 55,
|
|
"textAlign": "left",
|
|
"verticalAlign": "top"
|
|
},
|
|
{
|
|
"type": "text",
|
|
"version": 37,
|
|
"versionNonce": 1174594866,
|
|
"isDeleted": false,
|
|
"id": "Rjicr83PupuPJyLVNOCSX",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 2,
|
|
"strokeStyle": "solid",
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"angle": 0,
|
|
"x": -732,
|
|
"y": 168.5,
|
|
"strokeColor": "#000000",
|
|
"backgroundColor": "transparent",
|
|
"width": 63,
|
|
"height": 32,
|
|
"seed": 325174161,
|
|
"groupIds": [],
|
|
"strokeSharpness": "sharp",
|
|
"boundElementIds": [
|
|
"Mny3L3VSLeNImwwJm3X80",
|
|
"sdQd-trJBBMK-eLDF-KtC"
|
|
],
|
|
"fontSize": 20,
|
|
"fontFamily": 1,
|
|
"text": "clientA",
|
|
"baseline": 23,
|
|
"textAlign": "left",
|
|
"verticalAlign": "top"
|
|
},
|
|
{
|
|
"type": "text",
|
|
"version": 40,
|
|
"versionNonce": 1005502190,
|
|
"isDeleted": false,
|
|
"id": "ck_DMWYvjFM2UvoCg8v1a",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 2,
|
|
"strokeStyle": "solid",
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"angle": 0,
|
|
"x": -731,
|
|
"y": 276.5,
|
|
"strokeColor": "#000000",
|
|
"backgroundColor": "transparent",
|
|
"width": 64,
|
|
"height": 32,
|
|
"seed": 308619633,
|
|
"groupIds": [],
|
|
"strokeSharpness": "sharp",
|
|
"boundElementIds": [
|
|
"rcyyyUKeqcrMZ5irlTfgC"
|
|
],
|
|
"fontSize": 20,
|
|
"fontFamily": 1,
|
|
"text": "clientB",
|
|
"baseline": 23,
|
|
"textAlign": "left",
|
|
"verticalAlign": "top"
|
|
},
|
|
{
|
|
"type": "arrow",
|
|
"version": 118,
|
|
"versionNonce": 1318285042,
|
|
"isDeleted": false,
|
|
"id": "Mny3L3VSLeNImwwJm3X80",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 2,
|
|
"strokeStyle": "solid",
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"angle": 0,
|
|
"x": -658,
|
|
"y": 170.98655159625656,
|
|
"strokeColor": "#000000",
|
|
"backgroundColor": "transparent",
|
|
"width": 300,
|
|
"height": 67.01168397748802,
|
|
"seed": 527808177,
|
|
"groupIds": [],
|
|
"strokeSharpness": "round",
|
|
"boundElementIds": [],
|
|
"startBinding": {
|
|
"elementId": "Rjicr83PupuPJyLVNOCSX",
|
|
"focus": -0.9987212959259695,
|
|
"gap": 11
|
|
},
|
|
"endBinding": {
|
|
"elementId": "WCzp-SCyTsa4SI0A6p8me",
|
|
"focus": 0.6861242682527529,
|
|
"gap": 11.50176442625542
|
|
},
|
|
"points": [
|
|
[
|
|
0,
|
|
0
|
|
],
|
|
[
|
|
300,
|
|
67.01168397748802
|
|
]
|
|
],
|
|
"lastCommittedPoint": null,
|
|
"startArrowhead": null,
|
|
"endArrowhead": "arrow"
|
|
},
|
|
{
|
|
"type": "rectangle",
|
|
"version": 206,
|
|
"versionNonce": 701804846,
|
|
"isDeleted": false,
|
|
"id": "Gz9ztk8-GIEpUkrCpbpvQ",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 2,
|
|
"strokeStyle": "solid",
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"angle": 0,
|
|
"x": -782,
|
|
"y": 414,
|
|
"strokeColor": "#000000",
|
|
"backgroundColor": "transparent",
|
|
"width": 585,
|
|
"height": 243.00000000000006,
|
|
"seed": 1797994527,
|
|
"groupIds": [],
|
|
"strokeSharpness": "sharp",
|
|
"boundElementIds": []
|
|
},
|
|
{
|
|
"type": "text",
|
|
"version": 126,
|
|
"versionNonce": 267174066,
|
|
"isDeleted": false,
|
|
"id": "3usLJN7DGoe_oofvgs3-h",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 2,
|
|
"strokeStyle": "solid",
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"angle": 0,
|
|
"x": -349,
|
|
"y": 518.5,
|
|
"strokeColor": "#000000",
|
|
"backgroundColor": "transparent",
|
|
"width": 83,
|
|
"height": 32,
|
|
"seed": 1692921087,
|
|
"groupIds": [],
|
|
"strokeSharpness": "sharp",
|
|
"boundElementIds": [
|
|
"Mny3L3VSLeNImwwJm3X80",
|
|
"rcyyyUKeqcrMZ5irlTfgC"
|
|
],
|
|
"fontSize": 20,
|
|
"fontFamily": 1,
|
|
"text": "mediator",
|
|
"baseline": 23,
|
|
"textAlign": "left",
|
|
"verticalAlign": "top"
|
|
},
|
|
{
|
|
"type": "text",
|
|
"version": 125,
|
|
"versionNonce": 1120033646,
|
|
"isDeleted": false,
|
|
"id": "ViDZArZJy-ajnS5TFVhZ7",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 2,
|
|
"strokeStyle": "solid",
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"angle": 0,
|
|
"x": -727,
|
|
"y": 437.5,
|
|
"strokeColor": "#000000",
|
|
"backgroundColor": "transparent",
|
|
"width": 63,
|
|
"height": 32,
|
|
"seed": 844012447,
|
|
"groupIds": [],
|
|
"strokeSharpness": "sharp",
|
|
"boundElementIds": [
|
|
"Mny3L3VSLeNImwwJm3X80",
|
|
"-fPSjn_ObFDAWKG_MtRWN"
|
|
],
|
|
"fontSize": 20,
|
|
"fontFamily": 1,
|
|
"text": "clientA",
|
|
"baseline": 23,
|
|
"textAlign": "left",
|
|
"verticalAlign": "top"
|
|
},
|
|
{
|
|
"type": "text",
|
|
"version": 131,
|
|
"versionNonce": 95804018,
|
|
"isDeleted": false,
|
|
"id": "WhtHrNl-HweG3QLWcuTX4",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 2,
|
|
"strokeStyle": "solid",
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"angle": 0,
|
|
"x": -726,
|
|
"y": 545.5,
|
|
"strokeColor": "#000000",
|
|
"backgroundColor": "transparent",
|
|
"width": 64,
|
|
"height": 32,
|
|
"seed": 2113844351,
|
|
"groupIds": [],
|
|
"strokeSharpness": "sharp",
|
|
"boundElementIds": [
|
|
"rcyyyUKeqcrMZ5irlTfgC",
|
|
"-fPSjn_ObFDAWKG_MtRWN"
|
|
],
|
|
"fontSize": 20,
|
|
"fontFamily": 1,
|
|
"text": "clientB",
|
|
"baseline": 23,
|
|
"textAlign": "left",
|
|
"verticalAlign": "top"
|
|
},
|
|
{
|
|
"type": "arrow",
|
|
"version": 61,
|
|
"versionNonce": 1023458734,
|
|
"isDeleted": false,
|
|
"id": "-fPSjn_ObFDAWKG_MtRWN",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 2,
|
|
"strokeStyle": "solid",
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"angle": 0,
|
|
"x": -695,
|
|
"y": 479,
|
|
"strokeColor": "#000000",
|
|
"backgroundColor": "transparent",
|
|
"width": 1,
|
|
"height": 59,
|
|
"seed": 1111605215,
|
|
"groupIds": [],
|
|
"strokeSharpness": "round",
|
|
"boundElementIds": [],
|
|
"startBinding": {
|
|
"elementId": "ViDZArZJy-ajnS5TFVhZ7",
|
|
"focus": -0.0021339023739663913,
|
|
"gap": 9.5
|
|
},
|
|
"endBinding": {
|
|
"elementId": "WhtHrNl-HweG3QLWcuTX4",
|
|
"focus": 0.012342436974789917,
|
|
"gap": 7.5
|
|
},
|
|
"points": [
|
|
[
|
|
0,
|
|
0
|
|
],
|
|
[
|
|
1,
|
|
59
|
|
]
|
|
],
|
|
"lastCommittedPoint": null,
|
|
"startArrowhead": null,
|
|
"endArrowhead": "arrow"
|
|
},
|
|
{
|
|
"type": "text",
|
|
"version": 270,
|
|
"versionNonce": 515226674,
|
|
"isDeleted": false,
|
|
"id": "CKDtHG90-LBcCSlfbLsYX",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 2,
|
|
"strokeStyle": "solid",
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"angle": 0,
|
|
"x": -719,
|
|
"y": 581.5,
|
|
"strokeColor": "#000000",
|
|
"backgroundColor": "transparent",
|
|
"width": 467,
|
|
"height": 64,
|
|
"seed": 39767697,
|
|
"groupIds": [],
|
|
"strokeSharpness": "sharp",
|
|
"boundElementIds": [],
|
|
"fontSize": 20,
|
|
"fontFamily": 1,
|
|
"text": "clientA uses mediator connection to send to\nclientB's address:port as given by the mediator",
|
|
"baseline": 55,
|
|
"textAlign": "left",
|
|
"verticalAlign": "top"
|
|
},
|
|
{
|
|
"type": "text",
|
|
"version": 169,
|
|
"versionNonce": 498653166,
|
|
"isDeleted": false,
|
|
"id": "Tq8Nzi2ix_Zq0Td2Ndl2U",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 2,
|
|
"strokeStyle": "solid",
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"angle": 0.21018258666216916,
|
|
"x": -611,
|
|
"y": 173.5,
|
|
"strokeColor": "#000000",
|
|
"backgroundColor": "transparent",
|
|
"width": 200,
|
|
"height": 32,
|
|
"seed": 1873245425,
|
|
"groupIds": [],
|
|
"strokeSharpness": "sharp",
|
|
"boundElementIds": [],
|
|
"fontSize": 20,
|
|
"fontFamily": 1,
|
|
"text": "do you know clientB?",
|
|
"baseline": 23,
|
|
"textAlign": "left",
|
|
"verticalAlign": "top"
|
|
},
|
|
{
|
|
"type": "arrow",
|
|
"version": 181,
|
|
"versionNonce": 1490249202,
|
|
"isDeleted": false,
|
|
"id": "sdQd-trJBBMK-eLDF-KtC",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 2,
|
|
"strokeStyle": "solid",
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"angle": 0,
|
|
"x": -367,
|
|
"y": 295,
|
|
"strokeColor": "#000000",
|
|
"backgroundColor": "transparent",
|
|
"width": 310,
|
|
"height": 87,
|
|
"seed": 235260671,
|
|
"groupIds": [],
|
|
"strokeSharpness": "round",
|
|
"boundElementIds": [],
|
|
"startBinding": {
|
|
"elementId": "WCzp-SCyTsa4SI0A6p8me",
|
|
"focus": -1.620267195612858,
|
|
"gap": 13.5
|
|
},
|
|
"endBinding": {
|
|
"elementId": "Rjicr83PupuPJyLVNOCSX",
|
|
"focus": 0.6805402246607364,
|
|
"gap": 7.5
|
|
},
|
|
"points": [
|
|
[
|
|
0,
|
|
0
|
|
],
|
|
[
|
|
-310,
|
|
-87
|
|
]
|
|
],
|
|
"lastCommittedPoint": null,
|
|
"startArrowhead": null,
|
|
"endArrowhead": "arrow"
|
|
},
|
|
{
|
|
"type": "text",
|
|
"version": 371,
|
|
"versionNonce": 1559472686,
|
|
"isDeleted": false,
|
|
"id": "J5v5efJsEwp0i64pTGqnp",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 2,
|
|
"strokeStyle": "solid",
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"angle": 0.27714053574787556,
|
|
"x": -663.2539286441457,
|
|
"y": 250.56229654578607,
|
|
"strokeColor": "#000000",
|
|
"backgroundColor": "transparent",
|
|
"width": 282,
|
|
"height": 32,
|
|
"seed": 836388625,
|
|
"groupIds": [],
|
|
"strokeSharpness": "sharp",
|
|
"boundElementIds": [],
|
|
"fontSize": 20,
|
|
"fontFamily": 1,
|
|
"text": "sure, clientB is address:port",
|
|
"baseline": 23,
|
|
"textAlign": "left",
|
|
"verticalAlign": "top"
|
|
},
|
|
{
|
|
"type": "text",
|
|
"version": 43,
|
|
"versionNonce": 1561712562,
|
|
"isDeleted": false,
|
|
"id": "JjI_3tJcglu-OavY-1y9A",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 2,
|
|
"strokeStyle": "solid",
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"angle": 0,
|
|
"x": -739,
|
|
"y": -94.5,
|
|
"strokeColor": "#000000",
|
|
"backgroundColor": "transparent",
|
|
"width": 50,
|
|
"height": 32,
|
|
"seed": 432711775,
|
|
"groupIds": [],
|
|
"strokeSharpness": "sharp",
|
|
"boundElementIds": [],
|
|
"fontSize": 20,
|
|
"fontFamily": 1,
|
|
"text": ":xxxx",
|
|
"baseline": 23,
|
|
"textAlign": "left",
|
|
"verticalAlign": "top"
|
|
},
|
|
{
|
|
"type": "text",
|
|
"version": 119,
|
|
"versionNonce": 161100910,
|
|
"isDeleted": false,
|
|
"id": "YOlKa9kd5EVPxWyAPiAct",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 2,
|
|
"strokeStyle": "solid",
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"angle": 0,
|
|
"x": -174,
|
|
"y": -124.5,
|
|
"strokeColor": "#000000",
|
|
"backgroundColor": "transparent",
|
|
"width": 203,
|
|
"height": 64,
|
|
"seed": 1802891089,
|
|
"groupIds": [],
|
|
"strokeSharpness": "sharp",
|
|
"boundElementIds": [],
|
|
"fontSize": 20,
|
|
"fontFamily": 1,
|
|
"text": ":xxxx\ndenotes random port",
|
|
"baseline": 55,
|
|
"textAlign": "left",
|
|
"verticalAlign": "top"
|
|
},
|
|
{
|
|
"type": "text",
|
|
"version": 25,
|
|
"versionNonce": 463737202,
|
|
"isDeleted": false,
|
|
"id": "W3Zvi1VkWYoQtL-TZlN33",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 2,
|
|
"strokeStyle": "solid",
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"angle": 0,
|
|
"x": -401,
|
|
"y": -21.5,
|
|
"strokeColor": "#000000",
|
|
"backgroundColor": "transparent",
|
|
"width": 69,
|
|
"height": 32,
|
|
"seed": 1986197695,
|
|
"groupIds": [],
|
|
"strokeSharpness": "sharp",
|
|
"boundElementIds": [],
|
|
"fontSize": 20,
|
|
"fontFamily": 1,
|
|
"text": ":@@@@",
|
|
"baseline": 23,
|
|
"textAlign": "left",
|
|
"verticalAlign": "top"
|
|
},
|
|
{
|
|
"type": "text",
|
|
"version": 53,
|
|
"versionNonce": 1836414638,
|
|
"isDeleted": false,
|
|
"id": "fm3RGJKB9jS11sTXyjoou",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 2,
|
|
"strokeStyle": "solid",
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"angle": 0,
|
|
"x": -176,
|
|
"y": -46.5,
|
|
"strokeColor": "#000000",
|
|
"backgroundColor": "transparent",
|
|
"width": 182,
|
|
"height": 96,
|
|
"seed": 319285265,
|
|
"groupIds": [],
|
|
"strokeSharpness": "sharp",
|
|
"boundElementIds": [],
|
|
"fontSize": 20,
|
|
"fontFamily": 1,
|
|
"text": ":@@@@\ndenotes known and\nopen port",
|
|
"baseline": 87,
|
|
"textAlign": "left",
|
|
"verticalAlign": "top"
|
|
},
|
|
{
|
|
"type": "text",
|
|
"version": 25,
|
|
"versionNonce": 1740968754,
|
|
"isDeleted": false,
|
|
"id": "AZNIOMnNmieb2rDlJjzK9",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 2,
|
|
"strokeStyle": "solid",
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"angle": 0,
|
|
"x": -742,
|
|
"y": 8.5,
|
|
"strokeColor": "#000000",
|
|
"backgroundColor": "transparent",
|
|
"width": 50,
|
|
"height": 32,
|
|
"seed": 1009326143,
|
|
"groupIds": [],
|
|
"strokeSharpness": "sharp",
|
|
"boundElementIds": [],
|
|
"fontSize": 20,
|
|
"fontFamily": 1,
|
|
"text": ":xxxx",
|
|
"baseline": 23,
|
|
"textAlign": "left",
|
|
"verticalAlign": "top"
|
|
},
|
|
{
|
|
"type": "text",
|
|
"version": 442,
|
|
"versionNonce": 825127150,
|
|
"isDeleted": false,
|
|
"id": "MJpdCSvAqHeT17Z6EFOyj",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 2,
|
|
"strokeStyle": "solid",
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"angle": 0,
|
|
"x": -190,
|
|
"y": 140,
|
|
"strokeColor": "#000000",
|
|
"backgroundColor": "transparent",
|
|
"width": 284,
|
|
"height": 250,
|
|
"seed": 492805375,
|
|
"groupIds": [],
|
|
"strokeSharpness": "sharp",
|
|
"boundElementIds": [],
|
|
"fontSize": 16,
|
|
"fontFamily": 1,
|
|
"text": "This should probably have a\ncache for clientA, wherein\nclientA leaves a pending\nmessage of \"I wanna talk to\nclientB\". If clientB is connected\nto the mediator, then clientA\ngets an immediate response. If not,\nthe mediator will remember and\nlet clientA know whenever clientB\nconnects to the mediator.",
|
|
"baseline": 243,
|
|
"textAlign": "left",
|
|
"verticalAlign": "top"
|
|
},
|
|
{
|
|
"type": "text",
|
|
"version": 191,
|
|
"versionNonce": 333438194,
|
|
"isDeleted": false,
|
|
"id": "WSSVDcv7l4fNsRmW_Zk1C",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 2,
|
|
"strokeStyle": "solid",
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"angle": 0,
|
|
"x": -1421.75,
|
|
"y": -344.125,
|
|
"strokeColor": "#000000",
|
|
"backgroundColor": "transparent",
|
|
"width": 193,
|
|
"height": 32,
|
|
"seed": 589112593,
|
|
"groupIds": [],
|
|
"strokeSharpness": "sharp",
|
|
"boundElementIds": [],
|
|
"fontSize": 20,
|
|
"fontFamily": 1,
|
|
"text": "Simple Reliable UDP",
|
|
"baseline": 23,
|
|
"textAlign": "left",
|
|
"verticalAlign": "top"
|
|
},
|
|
{
|
|
"type": "text",
|
|
"version": 558,
|
|
"versionNonce": 5120814,
|
|
"isDeleted": false,
|
|
"id": "xZx2NBeeWJgDVwW3pNfeB",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 2,
|
|
"strokeStyle": "solid",
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"angle": 0,
|
|
"x": -1654.25,
|
|
"y": -301.625,
|
|
"strokeColor": "#000000",
|
|
"backgroundColor": "transparent",
|
|
"width": 672,
|
|
"height": 160,
|
|
"seed": 682218129,
|
|
"groupIds": [],
|
|
"strokeSharpness": "sharp",
|
|
"boundElementIds": [],
|
|
"fontSize": 20,
|
|
"fontFamily": 1,
|
|
"text": "Designed to provide a bi-directional stream.\n\n * Sequence Number per message, per-side, per-host(address+port)\n * Ack, somehow\n",
|
|
"baseline": 151,
|
|
"textAlign": "left",
|
|
"verticalAlign": "top"
|
|
},
|
|
{
|
|
"type": "text",
|
|
"version": 203,
|
|
"versionNonce": 226193074,
|
|
"isDeleted": false,
|
|
"id": "4wSGNBH4A3GWQ1mifkfPi",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 2,
|
|
"strokeStyle": "solid",
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"angle": 0,
|
|
"x": -1655.5,
|
|
"y": 38.375,
|
|
"strokeColor": "#e67700",
|
|
"backgroundColor": "transparent",
|
|
"width": 118,
|
|
"height": 32,
|
|
"seed": 1784949503,
|
|
"groupIds": [],
|
|
"strokeSharpness": "sharp",
|
|
"boundElementIds": [],
|
|
"fontSize": 20,
|
|
"fontFamily": 1,
|
|
"text": "LSEQUENCE",
|
|
"baseline": 23,
|
|
"textAlign": "left",
|
|
"verticalAlign": "top"
|
|
},
|
|
{
|
|
"type": "text",
|
|
"version": 434,
|
|
"versionNonce": 759008622,
|
|
"isDeleted": false,
|
|
"id": "fPQWYSKbG8eZXN0n5AuJD",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 2,
|
|
"strokeStyle": "solid",
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"angle": 0,
|
|
"x": -1655.5,
|
|
"y": 128.375,
|
|
"strokeColor": "#e67700",
|
|
"backgroundColor": "transparent",
|
|
"width": 119,
|
|
"height": 32,
|
|
"seed": 570737279,
|
|
"groupIds": [],
|
|
"strokeSharpness": "sharp",
|
|
"boundElementIds": [],
|
|
"fontSize": 20,
|
|
"fontFamily": 1,
|
|
"text": "RSEQUENCE",
|
|
"baseline": 23,
|
|
"textAlign": "left",
|
|
"verticalAlign": "top"
|
|
},
|
|
{
|
|
"type": "text",
|
|
"version": 312,
|
|
"versionNonce": 2034157682,
|
|
"isDeleted": false,
|
|
"id": "OqUPnHIb9K6nxPj-VPQZ0",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 2,
|
|
"strokeStyle": "solid",
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"angle": 0,
|
|
"x": -1510.5,
|
|
"y": 39.625,
|
|
"strokeColor": "#e67700",
|
|
"backgroundColor": "transparent",
|
|
"width": 181,
|
|
"height": 32,
|
|
"seed": 14441759,
|
|
"groupIds": [],
|
|
"strokeSharpness": "sharp",
|
|
"boundElementIds": [],
|
|
"fontSize": 20,
|
|
"fontFamily": 1,
|
|
"text": "PAYLOAD LENGTH",
|
|
"baseline": 23,
|
|
"textAlign": "left",
|
|
"verticalAlign": "top"
|
|
},
|
|
{
|
|
"type": "text",
|
|
"version": 450,
|
|
"versionNonce": 1430630318,
|
|
"isDeleted": false,
|
|
"id": "xNBo0ssjS9C1CJYqP4pci",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 2,
|
|
"strokeStyle": "solid",
|
|
"roughness": 0,
|
|
"opacity": 60,
|
|
"angle": 0,
|
|
"x": -1296.75,
|
|
"y": 38.375,
|
|
"strokeColor": "#862e9c",
|
|
"backgroundColor": "transparent",
|
|
"width": 164,
|
|
"height": 32,
|
|
"seed": 78086975,
|
|
"groupIds": [],
|
|
"strokeSharpness": "sharp",
|
|
"boundElementIds": [],
|
|
"fontSize": 20,
|
|
"fontFamily": 1,
|
|
"text": "PAYLOAD CHUNK",
|
|
"baseline": 23,
|
|
"textAlign": "left",
|
|
"verticalAlign": "top"
|
|
},
|
|
{
|
|
"type": "text",
|
|
"version": 2923,
|
|
"versionNonce": 1324411442,
|
|
"isDeleted": false,
|
|
"id": "GLmvV33KMl5NZ6uMpyWgz",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 2,
|
|
"strokeStyle": "solid",
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"angle": 0,
|
|
"x": -1942.2142857142856,
|
|
"y": 249.66071428571428,
|
|
"strokeColor": "#000000",
|
|
"backgroundColor": "transparent",
|
|
"width": 549,
|
|
"height": 416,
|
|
"seed": 570249759,
|
|
"groupIds": [],
|
|
"strokeSharpness": "sharp",
|
|
"boundElementIds": [],
|
|
"fontSize": 20,
|
|
"fontFamily": 1,
|
|
"text": "LSequence is iterated with each packet sent.\n\nOn receive, send LSequence back as RSequence ACK.\nIf RSequence ACK is not received within 1 second,\nconsider it lost and add original Sequence message into\nthe RESEND QUEUE.\n\nSending can be of arbitrary length, but is sent in\n468 byte chunks. If a message is less than the\nbyte amount, it is sent as a FULLCHUNK. If the\nmessage is more, then a BEGIN type is sent,\nfollowed by 0 or more CHUNK types, and ended\nwith an END type.",
|
|
"baseline": 407,
|
|
"textAlign": "left",
|
|
"verticalAlign": "top"
|
|
},
|
|
{
|
|
"type": "text",
|
|
"version": 95,
|
|
"versionNonce": 76515822,
|
|
"isDeleted": false,
|
|
"id": "5e4_evfmGxi2x1ghPzrhR",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 2,
|
|
"strokeStyle": "solid",
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"angle": 0,
|
|
"x": -1406.75,
|
|
"y": 170.875,
|
|
"strokeColor": "#000000",
|
|
"backgroundColor": "transparent",
|
|
"width": 156,
|
|
"height": 32,
|
|
"seed": 1306578559,
|
|
"groupIds": [],
|
|
"strokeSharpness": "sharp",
|
|
"boundElementIds": [],
|
|
"fontSize": 20,
|
|
"fontFamily": 1,
|
|
"text": "500 bytes max",
|
|
"baseline": 23,
|
|
"textAlign": "left",
|
|
"verticalAlign": "top"
|
|
},
|
|
{
|
|
"type": "text",
|
|
"version": 130,
|
|
"versionNonce": 1970852850,
|
|
"isDeleted": false,
|
|
"id": "CDkLKs0FA0iSLe2CtGk-q",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 2,
|
|
"strokeStyle": "solid",
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"angle": 0,
|
|
"x": -1724.25,
|
|
"y": -25.375,
|
|
"strokeColor": "#000000",
|
|
"backgroundColor": "#fd7e14",
|
|
"width": 57,
|
|
"height": 32,
|
|
"seed": 287083551,
|
|
"groupIds": [],
|
|
"strokeSharpness": "sharp",
|
|
"boundElementIds": [],
|
|
"fontSize": 20,
|
|
"fontFamily": 1,
|
|
"text": "TYPE",
|
|
"baseline": 23,
|
|
"textAlign": "left",
|
|
"verticalAlign": "top"
|
|
},
|
|
{
|
|
"type": "text",
|
|
"version": 105,
|
|
"versionNonce": 1512315950,
|
|
"isDeleted": false,
|
|
"id": "63EU5oolq5tk-ZVgCkcuT",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 2,
|
|
"strokeStyle": "solid",
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"angle": 0,
|
|
"x": -1731.75,
|
|
"y": -56.625,
|
|
"strokeColor": "#c92a2a",
|
|
"backgroundColor": "#fd7e14",
|
|
"width": 59,
|
|
"height": 32,
|
|
"seed": 955568657,
|
|
"groupIds": [],
|
|
"strokeSharpness": "sharp",
|
|
"boundElementIds": [],
|
|
"fontSize": 20,
|
|
"fontFamily": 1,
|
|
"text": "8 bits",
|
|
"baseline": 23,
|
|
"textAlign": "left",
|
|
"verticalAlign": "top"
|
|
},
|
|
{
|
|
"type": "text",
|
|
"version": 134,
|
|
"versionNonce": 1591575986,
|
|
"isDeleted": false,
|
|
"id": "AS-zRCTxXP7CHXR_RP3yi",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 2,
|
|
"strokeStyle": "solid",
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"angle": 0,
|
|
"x": -1718,
|
|
"y": 132.125,
|
|
"strokeColor": "#e67700",
|
|
"backgroundColor": "#fd7e14",
|
|
"width": 43,
|
|
"height": 32,
|
|
"seed": 1537755825,
|
|
"groupIds": [],
|
|
"strokeSharpness": "sharp",
|
|
"boundElementIds": [],
|
|
"fontSize": 20,
|
|
"fontFamily": 1,
|
|
"text": "ACK",
|
|
"baseline": 23,
|
|
"textAlign": "left",
|
|
"verticalAlign": "top"
|
|
},
|
|
{
|
|
"type": "text",
|
|
"version": 112,
|
|
"versionNonce": 736913006,
|
|
"isDeleted": false,
|
|
"id": "bMu1sFTptawdoXz2oTMEk",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 2,
|
|
"strokeStyle": "solid",
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"angle": 0,
|
|
"x": -1735.5,
|
|
"y": 39.625,
|
|
"strokeColor": "#e67700",
|
|
"backgroundColor": "#fd7e14",
|
|
"width": 66,
|
|
"height": 32,
|
|
"seed": 1695826001,
|
|
"groupIds": [],
|
|
"strokeSharpness": "sharp",
|
|
"boundElementIds": [],
|
|
"fontSize": 20,
|
|
"fontFamily": 1,
|
|
"text": "BEGIN",
|
|
"baseline": 23,
|
|
"textAlign": "left",
|
|
"verticalAlign": "top"
|
|
},
|
|
{
|
|
"type": "text",
|
|
"version": 144,
|
|
"versionNonce": 608567154,
|
|
"isDeleted": false,
|
|
"id": "b3x6jzKSyZtlOlyewh_OL",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 2,
|
|
"strokeStyle": "solid",
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"angle": 0,
|
|
"x": -1736.75,
|
|
"y": 67.125,
|
|
"strokeColor": "#e67700",
|
|
"backgroundColor": "#fd7e14",
|
|
"width": 65,
|
|
"height": 32,
|
|
"seed": 1261805009,
|
|
"groupIds": [],
|
|
"strokeSharpness": "sharp",
|
|
"boundElementIds": [],
|
|
"fontSize": 20,
|
|
"fontFamily": 1,
|
|
"text": "CHUNK",
|
|
"baseline": 23,
|
|
"textAlign": "left",
|
|
"verticalAlign": "top"
|
|
},
|
|
{
|
|
"type": "text",
|
|
"version": 188,
|
|
"versionNonce": 716269742,
|
|
"isDeleted": false,
|
|
"id": "mWJ9N_Ff7VvNfOIBIi57L",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 2,
|
|
"strokeStyle": "solid",
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"angle": 0,
|
|
"x": -1718,
|
|
"y": 93.375,
|
|
"strokeColor": "#e67700",
|
|
"backgroundColor": "#fd7e14",
|
|
"width": 45,
|
|
"height": 32,
|
|
"seed": 1131979327,
|
|
"groupIds": [],
|
|
"strokeSharpness": "sharp",
|
|
"boundElementIds": [],
|
|
"fontSize": 20,
|
|
"fontFamily": 1,
|
|
"text": "END",
|
|
"baseline": 23,
|
|
"textAlign": "left",
|
|
"verticalAlign": "top"
|
|
},
|
|
{
|
|
"type": "text",
|
|
"version": 203,
|
|
"versionNonce": 569983282,
|
|
"isDeleted": false,
|
|
"id": "q3lSX8-5hZytMWyivwysS",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 2,
|
|
"strokeStyle": "solid",
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"angle": 0,
|
|
"x": -1645.5,
|
|
"y": -21.625,
|
|
"strokeColor": "#000000",
|
|
"backgroundColor": "#fd7e14",
|
|
"width": 106,
|
|
"height": 32,
|
|
"seed": 1521852159,
|
|
"groupIds": [],
|
|
"strokeSharpness": "sharp",
|
|
"boundElementIds": [],
|
|
"fontSize": 20,
|
|
"fontFamily": 1,
|
|
"text": "SEQUENCE",
|
|
"baseline": 23,
|
|
"textAlign": "left",
|
|
"verticalAlign": "top"
|
|
},
|
|
{
|
|
"type": "rectangle",
|
|
"version": 537,
|
|
"versionNonce": 102507246,
|
|
"isDeleted": false,
|
|
"id": "DnVj-bxL8_mD3uiUsxzTF",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 2,
|
|
"strokeStyle": "solid",
|
|
"roughness": 0,
|
|
"opacity": 10,
|
|
"angle": 0,
|
|
"x": -1311.75,
|
|
"y": 21.125,
|
|
"strokeColor": "#0b7285",
|
|
"backgroundColor": "#15aabf",
|
|
"width": 195,
|
|
"height": 98.75,
|
|
"seed": 371607345,
|
|
"groupIds": [],
|
|
"strokeSharpness": "sharp",
|
|
"boundElementIds": []
|
|
},
|
|
{
|
|
"type": "text",
|
|
"version": 31,
|
|
"versionNonce": 324946674,
|
|
"isDeleted": false,
|
|
"id": "Wh8DP8zwnXIDu17DfrkwS",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 2,
|
|
"strokeStyle": "solid",
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"angle": 0,
|
|
"x": -1644.25,
|
|
"y": -49.125,
|
|
"strokeColor": "#c92a2a",
|
|
"backgroundColor": "#15aabf",
|
|
"width": 64,
|
|
"height": 32,
|
|
"seed": 1879594353,
|
|
"groupIds": [],
|
|
"strokeSharpness": "sharp",
|
|
"boundElementIds": [],
|
|
"fontSize": 20,
|
|
"fontFamily": 1,
|
|
"text": "15 bits",
|
|
"baseline": 23,
|
|
"textAlign": "left",
|
|
"verticalAlign": "top"
|
|
},
|
|
{
|
|
"type": "text",
|
|
"version": 265,
|
|
"versionNonce": 280335662,
|
|
"isDeleted": false,
|
|
"id": "VAl9rhf_PJmGIHsaXs_QE",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 2,
|
|
"strokeStyle": "solid",
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"angle": 0,
|
|
"x": -1470.5,
|
|
"y": -20.375,
|
|
"strokeColor": "#000000",
|
|
"backgroundColor": "#fd7e14",
|
|
"width": 61,
|
|
"height": 32,
|
|
"seed": 235874545,
|
|
"groupIds": [],
|
|
"strokeSharpness": "sharp",
|
|
"boundElementIds": [],
|
|
"fontSize": 20,
|
|
"fontFamily": 1,
|
|
"text": "DATA",
|
|
"baseline": 23,
|
|
"textAlign": "left",
|
|
"verticalAlign": "top"
|
|
},
|
|
{
|
|
"type": "text",
|
|
"version": 61,
|
|
"versionNonce": 788274354,
|
|
"isDeleted": false,
|
|
"id": "Hdd4g8e0VWUem_NWGF3rU",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 2,
|
|
"strokeStyle": "solid",
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"angle": 0,
|
|
"x": -1471.75,
|
|
"y": -49.125,
|
|
"strokeColor": "#c92a2a",
|
|
"backgroundColor": "#15aabf",
|
|
"width": 57,
|
|
"height": 32,
|
|
"seed": 700357471,
|
|
"groupIds": [],
|
|
"strokeSharpness": "sharp",
|
|
"boundElementIds": [],
|
|
"fontSize": 20,
|
|
"fontFamily": 1,
|
|
"text": "9 bits",
|
|
"baseline": 23,
|
|
"textAlign": "left",
|
|
"verticalAlign": "top"
|
|
},
|
|
{
|
|
"type": "text",
|
|
"version": 253,
|
|
"versionNonce": 1676066670,
|
|
"isDeleted": false,
|
|
"id": "m-IvWcrMRZNuEUuYCjDQ-",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 2,
|
|
"strokeStyle": "solid",
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"angle": 0,
|
|
"x": -1778,
|
|
"y": 13.375,
|
|
"strokeColor": "#e67700",
|
|
"backgroundColor": "#fd7e14",
|
|
"width": 111,
|
|
"height": 32,
|
|
"seed": 1371140113,
|
|
"groupIds": [],
|
|
"strokeSharpness": "sharp",
|
|
"boundElementIds": [],
|
|
"fontSize": 20,
|
|
"fontFamily": 1,
|
|
"text": "FULLCHUNK",
|
|
"baseline": 23,
|
|
"textAlign": "left",
|
|
"verticalAlign": "top"
|
|
},
|
|
{
|
|
"type": "text",
|
|
"version": 96,
|
|
"versionNonce": 1115272818,
|
|
"isDeleted": false,
|
|
"id": "U-rcRMhKXjaTEP3w1S4wP",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 2,
|
|
"strokeStyle": "solid",
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"angle": 0,
|
|
"x": -1688,
|
|
"y": -94.125,
|
|
"strokeColor": "#c92a2a",
|
|
"backgroundColor": "#15aabf",
|
|
"width": 266,
|
|
"height": 32,
|
|
"seed": 822651281,
|
|
"groupIds": [],
|
|
"strokeSharpness": "sharp",
|
|
"boundElementIds": [],
|
|
"fontSize": 20,
|
|
"fontFamily": 1,
|
|
"text": "4 BYTE PACKET HEADER",
|
|
"baseline": 23,
|
|
"textAlign": "left",
|
|
"verticalAlign": "top"
|
|
},
|
|
{
|
|
"type": "text",
|
|
"version": 233,
|
|
"versionNonce": 66625966,
|
|
"isDeleted": false,
|
|
"id": "iz8UJXq339BKE2_T7qkH4",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 2,
|
|
"strokeStyle": "solid",
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"angle": 0,
|
|
"x": -1318,
|
|
"y": -86.625,
|
|
"strokeColor": "#c92a2a",
|
|
"backgroundColor": "#15aabf",
|
|
"width": 294,
|
|
"height": 32,
|
|
"seed": 1563378353,
|
|
"groupIds": [],
|
|
"strokeSharpness": "sharp",
|
|
"boundElementIds": [],
|
|
"fontSize": 20,
|
|
"fontFamily": 1,
|
|
"text": "468 BYTE PACKET PAYLOAD",
|
|
"baseline": 23,
|
|
"textAlign": "left",
|
|
"verticalAlign": "top"
|
|
},
|
|
{
|
|
"type": "rectangle",
|
|
"version": 512,
|
|
"versionNonce": 1318983730,
|
|
"isDeleted": false,
|
|
"id": "JW8enIwQn1ZJFkV2NCC4-",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 2,
|
|
"strokeStyle": "solid",
|
|
"roughness": 0,
|
|
"opacity": 10,
|
|
"angle": 0,
|
|
"x": -1515.5,
|
|
"y": 129.875,
|
|
"strokeColor": "#d9480f",
|
|
"backgroundColor": "#fd7e14",
|
|
"width": 187.50000000000003,
|
|
"height": 32.50000000000001,
|
|
"seed": 1514526929,
|
|
"groupIds": [],
|
|
"strokeSharpness": "sharp",
|
|
"boundElementIds": []
|
|
},
|
|
{
|
|
"type": "text",
|
|
"version": 509,
|
|
"versionNonce": 68434926,
|
|
"isDeleted": false,
|
|
"id": "mfVaYz9NXVOuOMiXSDOt3",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 2,
|
|
"strokeStyle": "solid",
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"angle": 0,
|
|
"x": -1480.5,
|
|
"y": 129.625,
|
|
"strokeColor": "#e67700",
|
|
"backgroundColor": "transparent",
|
|
"width": 94,
|
|
"height": 32,
|
|
"seed": 1577160977,
|
|
"groupIds": [],
|
|
"strokeSharpness": "sharp",
|
|
"boundElementIds": [],
|
|
"fontSize": 20,
|
|
"fontFamily": 1,
|
|
"text": "EMPTY :(",
|
|
"baseline": 23,
|
|
"textAlign": "left",
|
|
"verticalAlign": "top"
|
|
},
|
|
{
|
|
"type": "text",
|
|
"version": 42,
|
|
"versionNonce": 592462322,
|
|
"isDeleted": false,
|
|
"id": "tYuLW_5hrRh_rclbfGItj",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 2,
|
|
"strokeStyle": "solid",
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"angle": 0,
|
|
"x": -1303,
|
|
"y": -22.875,
|
|
"strokeColor": "#000000",
|
|
"backgroundColor": "#15aabf",
|
|
"width": 75,
|
|
"height": 32,
|
|
"seed": 1828453375,
|
|
"groupIds": [],
|
|
"strokeSharpness": "sharp",
|
|
"boundElementIds": [],
|
|
"fontSize": 20,
|
|
"fontFamily": 1,
|
|
"text": "optional",
|
|
"baseline": 23,
|
|
"textAlign": "left",
|
|
"verticalAlign": "top"
|
|
},
|
|
{
|
|
"type": "text",
|
|
"version": 3220,
|
|
"versionNonce": 709004846,
|
|
"isDeleted": false,
|
|
"id": "yWPwX5AwLetJInu74djfD",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 2,
|
|
"strokeStyle": "solid",
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"angle": 0,
|
|
"x": -1365.7142857142856,
|
|
"y": 246.91071428571433,
|
|
"strokeColor": "#000000",
|
|
"backgroundColor": "transparent",
|
|
"width": 528,
|
|
"height": 832,
|
|
"seed": 8848287,
|
|
"groupIds": [],
|
|
"strokeSharpness": "sharp",
|
|
"boundElementIds": [],
|
|
"fontSize": 20,
|
|
"fontFamily": 1,
|
|
"text": "Packets are stored in an OUTBOUND QUEUE,\na PENDING QUEUE and a RESEND QUEUE.\n\nUntil a Message is fully consumed, it continues\nadding to the OUTBOUND QUEUE, providing the\nlength of the PENDING+RESEND does not\nexceed a particular Threshold.\n\nThreshold should likely be determined by some\nsort of metric achieved by total pack send\nrate combined with round-trip-time from the\ntarget. If the RTT is higher, then the packet\nsend rate should be reduced. If the RTT is\nstable, then send rate could be increased up\nto a percentage of decline from its stable value.\n\nProbably assume a 20 packets/second minimum? Then\nthrottle up from there providing the RTT doesn't\nincrease by any great threshold (250ms is probably\nthe upper limit?)\n\nPackets are removed from the PENDING QUEUE\nonce they receive their ACK. Packets are removed\nfrom the RESEND QUEUE once they are sent.\nPackets are moved from the OUTBOUND QUEUE\ninto the PENDING QUEUE once there is room.",
|
|
"baseline": 823,
|
|
"textAlign": "left",
|
|
"verticalAlign": "top"
|
|
},
|
|
{
|
|
"type": "text",
|
|
"version": 922,
|
|
"versionNonce": 1465604782,
|
|
"isDeleted": false,
|
|
"id": "6HtLHZJxGGcgbZzZqNEbI",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 1,
|
|
"strokeStyle": "solid",
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"angle": 0,
|
|
"x": 126,
|
|
"y": 167.49999999999994,
|
|
"strokeColor": "#c92a2a",
|
|
"backgroundColor": "#82c91e",
|
|
"width": 98,
|
|
"height": 32,
|
|
"seed": 1804022719,
|
|
"groupIds": [],
|
|
"strokeSharpness": "sharp",
|
|
"boundElementIds": [],
|
|
"fontSize": 20,
|
|
"fontFamily": 1,
|
|
"text": "RSA-OAEP",
|
|
"baseline": 23,
|
|
"textAlign": "left",
|
|
"verticalAlign": "top"
|
|
},
|
|
{
|
|
"type": "text",
|
|
"version": 518,
|
|
"versionNonce": 1654615858,
|
|
"isDeleted": false,
|
|
"id": "-Uof9BU--dd_YuuVwxN-U",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 2,
|
|
"strokeStyle": "solid",
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"angle": 0,
|
|
"x": 577,
|
|
"y": -63.5,
|
|
"strokeColor": "#000000",
|
|
"backgroundColor": "#82c91e",
|
|
"width": 92,
|
|
"height": 32,
|
|
"seed": 1260128511,
|
|
"groupIds": [],
|
|
"strokeSharpness": "sharp",
|
|
"boundElementIds": [],
|
|
"fontSize": 20,
|
|
"fontFamily": 1,
|
|
"text": "Plaintext",
|
|
"baseline": 23,
|
|
"textAlign": "left",
|
|
"verticalAlign": "top"
|
|
},
|
|
{
|
|
"type": "text",
|
|
"version": 382,
|
|
"versionNonce": 750245102,
|
|
"isDeleted": false,
|
|
"id": "f8s5uR1Pw_U8qDkdyI5xC",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 2,
|
|
"strokeStyle": "solid",
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"angle": 0,
|
|
"x": 177,
|
|
"y": 253.5,
|
|
"strokeColor": "#364fc7",
|
|
"backgroundColor": "#82c91e",
|
|
"width": 38,
|
|
"height": 32,
|
|
"seed": 1050019711,
|
|
"groupIds": [],
|
|
"strokeSharpness": "sharp",
|
|
"boundElementIds": [],
|
|
"fontSize": 20,
|
|
"fontFamily": 1,
|
|
"text": "AES",
|
|
"baseline": 23,
|
|
"textAlign": "left",
|
|
"verticalAlign": "top"
|
|
},
|
|
{
|
|
"id": "XVkI5j_8PWAYYuXHKASYZ",
|
|
"type": "text",
|
|
"x": 166.6666666666656,
|
|
"y": 540.2499999999998,
|
|
"width": 545,
|
|
"height": 160,
|
|
"angle": 0,
|
|
"strokeColor": "#000000",
|
|
"backgroundColor": "#ced4da",
|
|
"fillStyle": "solid",
|
|
"strokeWidth": 2,
|
|
"strokeStyle": "solid",
|
|
"roughness": 0,
|
|
"opacity": 100,
|
|
"groupIds": [],
|
|
"strokeSharpness": "sharp",
|
|
"seed": 1488843118,
|
|
"version": 329,
|
|
"versionNonce": 594719342,
|
|
"isDeleted": false,
|
|
"boundElementIds": null,
|
|
"text": "Note: It might make more sense to have the GREET\nmessage actually encrypted with client B's hub\npublic key? And client B would probably also already\nknow client A's hub public key from the mediator step...\nHmm",
|
|
"fontSize": 20,
|
|
"fontFamily": 1,
|
|
"textAlign": "left",
|
|
"verticalAlign": "top",
|
|
"baseline": 151
|
|
}
|
|
],
|
|
"appState": {
|
|
"gridSize": null,
|
|
"viewBackgroundColor": "#ffffff"
|
|
}
|
|
} |