notes/Areas/electricity/assets/yjs-architecture.excalidraw.md

16 KiB

excalidraw-plugin tags
parsed
excalidraw

==⚠ Switch to EXCALIDRAW VIEW in the MORE OPTIONS menu of this document. ⚠==

Text Elements

Server ^WkbqBiLT

Client ^ZHPBLTHz

adapter ^onSLaWJU

adapter ^4E2JLjbz

signal-server ^H1H62P9W

WebRTC/WebSocket Provider Singletons ^EmE2WToq

WebRTC/WebSocket Provider Singletons ^WzmDhRB1

%%

Drawing

{
	"type": "excalidraw",
	"version": 2,
	"source": "https://excalidraw.com",
	"elements": [
		{
			"type": "line",
			"version": 32,
			"versionNonce": 487780829,
			"isDeleted": false,
			"id": "B1RMc4yJ-BDM4Ol-qhDK2",
			"fillStyle": "hachure",
			"strokeWidth": 1,
			"strokeStyle": "solid",
			"roughness": 1,
			"opacity": 100,
			"angle": 0,
			"x": -203.21481323242188,
			"y": 1.2777862548828125,
			"strokeColor": "#000000",
			"backgroundColor": "transparent",
			"width": 446.34393310546875,
			"height": 0,
			"seed": 768879731,
			"groupIds": [],
			"strokeSharpness": "round",
			"boundElements": [],
			"updated": 1648909262956,
			"link": null,
			"startBinding": null,
			"endBinding": null,
			"lastCommittedPoint": null,
			"startArrowhead": null,
			"endArrowhead": null,
			"points": [
				[
					0,
					0
				],
				[
					446.34393310546875,
					0
				]
			]
		},
		{
			"type": "text",
			"version": 75,
			"versionNonce": 1034561587,
			"isDeleted": false,
			"id": "WkbqBiLT",
			"fillStyle": "hachure",
			"strokeWidth": 1,
			"strokeStyle": "solid",
			"roughness": 1,
			"opacity": 100,
			"angle": 0,
			"x": -203.12564086914062,
			"y": -29.331588745117188,
			"strokeColor": "#000000",
			"backgroundColor": "transparent",
			"width": 64,
			"height": 25,
			"seed": 657679987,
			"groupIds": [],
			"strokeSharpness": "sharp",
			"boundElements": [],
			"updated": 1648909268338,
			"link": null,
			"fontSize": 20,
			"fontFamily": 1,
			"text": "Server",
			"rawText": "Server",
			"baseline": 18,
			"textAlign": "left",
			"verticalAlign": "top",
			"containerId": null,
			"originalText": "Server"
		},
		{
			"type": "text",
			"version": 122,
			"versionNonce": 1251183069,
			"isDeleted": false,
			"id": "ZHPBLTHz",
			"fillStyle": "hachure",
			"strokeWidth": 1,
			"strokeStyle": "solid",
			"roughness": 1,
			"opacity": 100,
			"angle": 0,
			"x": -205.04751586914062,
			"y": 10.119491577148438,
			"strokeColor": "#000000",
			"backgroundColor": "transparent",
			"width": 56,
			"height": 25,
			"seed": 1737615485,
			"groupIds": [],
			"strokeSharpness": "sharp",
			"boundElements": [],
			"updated": 1648909275789,
			"link": null,
			"fontSize": 20,
			"fontFamily": 1,
			"text": "Client",
			"rawText": "Client",
			"baseline": 18,
			"textAlign": "left",
			"verticalAlign": "top",
			"containerId": null,
			"originalText": "Client"
		},
		{
			"type": "ellipse",
			"version": 250,
			"versionNonce": 1700692605,
			"isDeleted": false,
			"id": "ncEegcveBMwLd3SR11qYQ",
			"fillStyle": "hachure",
			"strokeWidth": 1,
			"strokeStyle": "solid",
			"roughness": 1,
			"opacity": 100,
			"angle": 0,
			"x": -88.36892700195312,
			"y": -138.80564880371094,
			"strokeColor": "#000000",
			"backgroundColor": "transparent",
			"width": 128,
			"height": 84,
			"seed": 111167037,
			"groupIds": [],
			"strokeSharpness": "sharp",
			"boundElements": [
				{
					"type": "text",
					"id": "onSLaWJU"
				},
				{
					"id": "F2uyACxqpv8b0sRB4rAKX",
					"type": "arrow"
				},
				{
					"id": "s5_qS-wgmHTCWVMygi4dn",
					"type": "arrow"
				},
				{
					"id": "YRgsZ5sie5bWYaWqUpAMB",
					"type": "arrow"
				}
			],
			"updated": 1648909389391,
			"link": null
		},
		{
			"type": "text",
			"version": 168,
			"versionNonce": 404269107,
			"isDeleted": false,
			"id": "onSLaWJU",
			"fillStyle": "hachure",
			"strokeWidth": 1,
			"strokeStyle": "solid",
			"roughness": 1,
			"opacity": 100,
			"angle": 0,
			"x": -83.36892700195312,
			"y": -109.30564880371094,
			"strokeColor": "#000000",
			"backgroundColor": "transparent",
			"width": 118,
			"height": 25,
			"seed": 1122586323,
			"groupIds": [],
			"strokeSharpness": "sharp",
			"boundElements": [],
			"updated": 1648909393031,
			"link": null,
			"fontSize": 20,
			"fontFamily": 1,
			"text": "adapter",
			"rawText": "adapter",
			"baseline": 17,
			"textAlign": "center",
			"verticalAlign": "middle",
			"containerId": "ncEegcveBMwLd3SR11qYQ",
			"originalText": "adapter"
		},
		{
			"type": "ellipse",
			"version": 237,
			"versionNonce": 1633291645,
			"isDeleted": false,
			"id": "JKUxjb3-f104Cl7oxLCE6",
			"fillStyle": "hachure",
			"strokeWidth": 1,
			"strokeStyle": "solid",
			"roughness": 1,
			"opacity": 100,
			"angle": 0,
			"x": -83.57376098632812,
			"y": 64.44017028808594,
			"strokeColor": "#000000",
			"backgroundColor": "transparent",
			"width": 128,
			"height": 84,
			"seed": 1788340659,
			"groupIds": [],
			"strokeSharpness": "sharp",
			"boundElements": [
				{
					"id": "4E2JLjbz",
					"type": "text"
				},
				{
					"id": "F2uyACxqpv8b0sRB4rAKX",
					"type": "arrow"
				},
				{
					"id": "fnHgEPQGUYjAZQw3QH8uV",
					"type": "arrow"
				},
				{
					"id": "OhJaFbWOgueHOQ8IbYf0T",
					"type": "arrow"
				},
				{
					"id": "s5_qS-wgmHTCWVMygi4dn",
					"type": "arrow"
				},
				{
					"id": "aAgK_fMn5O7i3R-R_aPej",
					"type": "arrow"
				}
			],
			"updated": 1648909397692,
			"link": null
		},
		{
			"type": "text",
			"version": 152,
			"versionNonce": 2077803005,
			"isDeleted": false,
			"id": "4E2JLjbz",
			"fillStyle": "hachure",
			"strokeWidth": 1,
			"strokeStyle": "solid",
			"roughness": 1,
			"opacity": 100,
			"angle": 0,
			"x": -78.57376098632812,
			"y": 93.94017028808594,
			"strokeColor": "#000000",
			"backgroundColor": "transparent",
			"width": 118,
			"height": 25,
			"seed": 444268285,
			"groupIds": [],
			"strokeSharpness": "sharp",
			"boundElements": [],
			"updated": 1648909393037,
			"link": null,
			"fontSize": 20,
			"fontFamily": 1,
			"text": "adapter",
			"rawText": "adapter",
			"baseline": 17,
			"textAlign": "center",
			"verticalAlign": "middle",
			"containerId": "JKUxjb3-f104Cl7oxLCE6",
			"originalText": "adapter"
		},
		{
			"type": "ellipse",
			"version": 280,
			"versionNonce": 361002611,
			"isDeleted": false,
			"id": "kNr2rkWGRr6NnY3FuKHa1",
			"fillStyle": "hachure",
			"strokeWidth": 1,
			"strokeStyle": "solid",
			"roughness": 1,
			"opacity": 100,
			"angle": 0,
			"x": 100.27340698242188,
			"y": -135.8394317626953,
			"strokeColor": "#000000",
			"backgroundColor": "transparent",
			"width": 76,
			"height": 84,
			"seed": 1289228701,
			"groupIds": [],
			"strokeSharpness": "sharp",
			"boundElements": [
				{
					"id": "H1H62P9W",
					"type": "text"
				},
				{
					"id": "fnHgEPQGUYjAZQw3QH8uV",
					"type": "arrow"
				},
				{
					"id": "OhJaFbWOgueHOQ8IbYf0T",
					"type": "arrow"
				}
			],
			"updated": 1648909333696,
			"link": null
		},
		{
			"type": "text",
			"version": 213,
			"versionNonce": 855928723,
			"isDeleted": false,
			"id": "H1H62P9W",
			"fillStyle": "hachure",
			"strokeWidth": 1,
			"strokeStyle": "solid",
			"roughness": 1,
			"opacity": 100,
			"angle": 0,
			"x": 105.27340698242188,
			"y": -118.33943176269531,
			"strokeColor": "#000000",
			"backgroundColor": "transparent",
			"width": 66,
			"height": 49,
			"seed": 429990579,
			"groupIds": [],
			"strokeSharpness": "sharp",
			"boundElements": [],
			"updated": 1648909393042,
			"link": null,
			"fontSize": 20,
			"fontFamily": 1,
			"text": "signal-\nserver",
			"rawText": "signal-server",
			"baseline": 42,
			"textAlign": "center",
			"verticalAlign": "middle",
			"containerId": "kNr2rkWGRr6NnY3FuKHa1",
			"originalText": "signal-server"
		},
		{
			"type": "arrow",
			"version": 269,
			"versionNonce": 165358035,
			"isDeleted": false,
			"id": "F2uyACxqpv8b0sRB4rAKX",
			"fillStyle": "hachure",
			"strokeWidth": 1,
			"strokeStyle": "solid",
			"roughness": 1,
			"opacity": 100,
			"angle": 0,
			"x": -29.264643885066555,
			"y": 47.955788408580375,
			"strokeColor": "#000000",
			"backgroundColor": "transparent",
			"width": 1.4345041594637138,
			"height": 87.47173178483985,
			"seed": 1128467763,
			"groupIds": [],
			"strokeSharpness": "round",
			"boundElements": [],
			"updated": 1648909393033,
			"link": null,
			"startBinding": {
				"elementId": "JKUxjb3-f104Cl7oxLCE6",
				"gap": 16.908466522690496,
				"focus": -0.1663971794434631
			},
			"endBinding": {
				"elementId": "ncEegcveBMwLd3SR11qYQ",
				"gap": 15.344292795874608,
				"focus": 0.039399010088612886
			},
			"lastCommittedPoint": null,
			"startArrowhead": null,
			"endArrowhead": "arrow",
			"points": [
				[
					0,
					0
				],
				[
					1.4345041594637138,
					-87.47173178483985
				]
			]
		},
		{
			"type": "arrow",
			"version": 173,
			"versionNonce": 650738269,
			"isDeleted": false,
			"id": "fnHgEPQGUYjAZQw3QH8uV",
			"fillStyle": "hachure",
			"strokeWidth": 1,
			"strokeStyle": "solid",
			"roughness": 1,
			"opacity": 100,
			"angle": 0,
			"x": 0.8269116773278711,
			"y": 57.046853813144814,
			"strokeColor": "#000000",
			"backgroundColor": "transparent",
			"width": 105.93604935725264,
			"height": 114.41385084011695,
			"seed": 810782739,
			"groupIds": [],
			"strokeSharpness": "round",
			"boundElements": [],
			"updated": 1648909393039,
			"link": null,
			"startBinding": {
				"elementId": "JKUxjb3-f104Cl7oxLCE6",
				"gap": 9.418223644733324,
				"focus": -0.338272990078119
			},
			"endBinding": {
				"elementId": "kNr2rkWGRr6NnY3FuKHa1",
				"gap": 8.03202591987909,
				"focus": -0.041556009002134034
			},
			"lastCommittedPoint": null,
			"startArrowhead": null,
			"endArrowhead": "arrow",
			"points": [
				[
					0,
					0
				],
				[
					105.93604935725264,
					-114.41385084011695
				]
			]
		},
		{
			"type": "arrow",
			"version": 181,
			"versionNonce": 935601853,
			"isDeleted": false,
			"id": "OhJaFbWOgueHOQ8IbYf0T",
			"fillStyle": "hachure",
			"strokeWidth": 1,
			"strokeStyle": "solid",
			"roughness": 1,
			"opacity": 100,
			"angle": 0,
			"x": 133.94922735259325,
			"y": -40.68297085745398,
			"strokeColor": "#000000",
			"backgroundColor": "transparent",
			"width": 106.36925106337083,
			"height": 109.84227380162322,
			"seed": 622746611,
			"groupIds": [],
			"strokeSharpness": "round",
			"boundElements": [],
			"updated": 1648909393040,
			"link": null,
			"startBinding": {
				"elementId": "kNr2rkWGRr6NnY3FuKHa1",
				"gap": 11.361607065441326,
				"focus": -0.8471111474670205
			},
			"endBinding": {
				"elementId": "JKUxjb3-f104Cl7oxLCE6",
				"gap": 7.561781835624188,
				"focus": 0.14574181899473912
			},
			"lastCommittedPoint": null,
			"startArrowhead": null,
			"endArrowhead": "arrow",
			"points": [
				[
					0,
					0
				],
				[
					-106.36925106337083,
					109.84227380162322
				]
			]
		},
		{
			"type": "arrow",
			"version": 288,
			"versionNonce": 1080391347,
			"isDeleted": false,
			"id": "s5_qS-wgmHTCWVMygi4dn",
			"fillStyle": "hachure",
			"strokeWidth": 1,
			"strokeStyle": "solid",
			"roughness": 1,
			"opacity": 100,
			"angle": 0,
			"x": -12.089441338577496,
			"y": -45.874571196482826,
			"strokeColor": "#000000",
			"backgroundColor": "transparent",
			"width": 1.483259143951459,
			"height": 95.35174468642936,
			"seed": 986354259,
			"groupIds": [],
			"strokeSharpness": "round",
			"boundElements": [],
			"updated": 1648909393035,
			"link": null,
			"startBinding": {
				"elementId": "ncEegcveBMwLd3SR11qYQ",
				"gap": 9.653999542511265,
				"focus": -0.20423541386144933
			},
			"endBinding": {
				"elementId": "JKUxjb3-f104Cl7oxLCE6",
				"gap": 15.1275256621743,
				"focus": 0.0799171421969123
			},
			"lastCommittedPoint": null,
			"startArrowhead": null,
			"endArrowhead": "arrow",
			"points": [
				[
					0,
					0
				],
				[
					-1.483259143951459,
					95.35174468642936
				]
			]
		},
		{
			"type": "text",
			"version": 72,
			"versionNonce": 1254304477,
			"isDeleted": false,
			"id": "EmE2WToq",
			"fillStyle": "hachure",
			"strokeWidth": 1,
			"strokeStyle": "solid",
			"roughness": 1,
			"opacity": 100,
			"angle": 0,
			"x": -197.91647338867188,
			"y": -281.5548858642578,
			"strokeColor": "#000000",
			"backgroundColor": "transparent",
			"width": 386,
			"height": 25,
			"seed": 1422562013,
			"groupIds": [],
			"strokeSharpness": "sharp",
			"boundElements": [
				{
					"id": "YRgsZ5sie5bWYaWqUpAMB",
					"type": "arrow"
				}
			],
			"updated": 1648909389392,
			"link": null,
			"fontSize": 20,
			"fontFamily": 1,
			"text": "WebRTC/WebSocket Provider Singletons",
			"rawText": "WebRTC/WebSocket Provider Singletons",
			"baseline": 18,
			"textAlign": "left",
			"verticalAlign": "top",
			"containerId": null,
			"originalText": "WebRTC/WebSocket Provider Singletons"
		},
		{
			"type": "arrow",
			"version": 39,
			"versionNonce": 847639581,
			"isDeleted": false,
			"id": "YRgsZ5sie5bWYaWqUpAMB",
			"fillStyle": "hachure",
			"strokeWidth": 1,
			"strokeStyle": "solid",
			"roughness": 1,
			"opacity": 100,
			"angle": 0,
			"x": -29.481130932521708,
			"y": -156.22275972522377,
			"strokeColor": "#000000",
			"backgroundColor": "transparent",
			"width": 2.047506664943583,
			"height": 85.82580900036217,
			"seed": 1508419517,
			"groupIds": [],
			"strokeSharpness": "round",
			"boundElements": [],
			"updated": 1648909393030,
			"link": null,
			"startBinding": {
				"elementId": "ncEegcveBMwLd3SR11qYQ",
				"gap": 17.534249658462436,
				"focus": -0.10201391255902159
			},
			"endBinding": {
				"elementId": "EmE2WToq",
				"gap": 14.506317138671875,
				"focus": 0.11315611262704293
			},
			"lastCommittedPoint": null,
			"startArrowhead": null,
			"endArrowhead": "arrow",
			"points": [
				[
					0,
					0
				],
				[
					2.047506664943583,
					-85.82580900036217
				]
			]
		},
		{
			"type": "text",
			"version": 158,
			"versionNonce": 1872112189,
			"isDeleted": false,
			"id": "WzmDhRB1",
			"fillStyle": "hachure",
			"strokeWidth": 1,
			"strokeStyle": "solid",
			"roughness": 1,
			"opacity": 100,
			"angle": 0,
			"x": -187.02542114257812,
			"y": 266.5276336669922,
			"strokeColor": "#000000",
			"backgroundColor": "transparent",
			"width": 386,
			"height": 25,
			"seed": 1094522643,
			"groupIds": [],
			"strokeSharpness": "sharp",
			"boundElements": [
				{
					"id": "YRgsZ5sie5bWYaWqUpAMB",
					"type": "arrow"
				},
				{
					"id": "aAgK_fMn5O7i3R-R_aPej",
					"type": "arrow"
				}
			],
			"updated": 1648909402120,
			"link": null,
			"fontSize": 20,
			"fontFamily": 1,
			"text": "WebRTC/WebSocket Provider Singletons",
			"rawText": "WebRTC/WebSocket Provider Singletons",
			"baseline": 18,
			"textAlign": "left",
			"verticalAlign": "top",
			"containerId": null,
			"originalText": "WebRTC/WebSocket Provider Singletons"
		},
		{
			"id": "aAgK_fMn5O7i3R-R_aPej",
			"type": "arrow",
			"x": -23.349230732021784,
			"y": 152.45120762995597,
			"width": 1.8979000327098632,
			"height": 103.87128687687996,
			"angle": 0,
			"strokeColor": "#000000",
			"backgroundColor": "transparent",
			"fillStyle": "hachure",
			"strokeWidth": 1,
			"strokeStyle": "solid",
			"roughness": 1,
			"opacity": 100,
			"groupIds": [],
			"strokeSharpness": "round",
			"seed": 671677,
			"version": 133,
			"versionNonce": 1194318493,
			"isDeleted": false,
			"boundElements": null,
			"updated": 1648909402123,
			"link": null,
			"points": [
				[
					0,
					0
				],
				[
					1.8979000327098632,
					103.87128687687996
				]
			],
			"lastCommittedPoint": null,
			"startBinding": {
				"elementId": "JKUxjb3-f104Cl7oxLCE6",
				"focus": 0.0748602540311268,
				"gap": 4.081948266723494
			},
			"endBinding": {
				"elementId": "WzmDhRB1",
				"focus": -0.13978819758028055,
				"gap": 10.20513916015625
			},
			"startArrowhead": null,
			"endArrowhead": "arrow"
		}
	],
	"appState": {
		"theme": "light",
		"viewBackgroundColor": "#ffffff",
		"currentItemStrokeColor": "#000000",
		"currentItemBackgroundColor": "transparent",
		"currentItemFillStyle": "hachure",
		"currentItemStrokeWidth": 1,
		"currentItemStrokeStyle": "solid",
		"currentItemRoughness": 1,
		"currentItemOpacity": 100,
		"currentItemFontFamily": 1,
		"currentItemFontSize": 20,
		"currentItemTextAlign": "left",
		"currentItemStrokeSharpness": "sharp",
		"currentItemStartArrowhead": null,
		"currentItemEndArrowhead": "arrow",
		"currentItemLinearStrokeSharpness": "round",
		"gridSize": null,
		"colorPalette": {}
	},
	"files": {}
}

%%