mirror of
https://github.com/coturn/coturn.git
synced 2025-08-12 09:17:04 +02:00
The flowchart will be kept updated: - Use [drawio](https://app.diagrams.net/) to edit. 1. Open [drawio](https://app.diagrams.net/) in brower 2. Menu → File → Open from ... → Device: Select [FlowChart.html](FlowChart.html) 3. Edit flow chart 4. Export to svg: Menu → File → Export as... → SVG...
13 lines
48 KiB
HTML
13 lines
48 KiB
HTML
<!DOCTYPE html>
|
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
<head>
|
|
<title>draw.io</title>
|
|
<meta http-equiv="refresh" content="0;URL='https://app.diagrams.net/#HKangLin%2Fcoturn%2FFlowChart%2Fdocs%2Fdrawio%2FFlowChart.html'"/>
|
|
<meta charset="utf-8"/>
|
|
</head>
|
|
<body>
|
|
<div class="mxgraph" style="max-width:100%;border:1px solid transparent;" data-mxgraph="{"highlight":"#0000ff","nav":true,"resize":true,"xml":"<mxfile host=\"app.diagrams.net\" modified=\"2023-12-08T02:18:42.680Z\" agent=\"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/119.0\" etag=\"yaQpJu1YMDJU5HiIBxcW\" version=\"22.1.3\" type=\"github\"><diagram name=\"第 1 页\" id=\"770i9bGLY1KPm9eyXDIp\"><mxGraphModel dx=\"1669\" dy=\"483\" grid=\"1\" gridSize=\"10\" guides=\"1\" tooltips=\"1\" connect=\"1\" arrows=\"1\" fold=\"1\" page=\"1\" pageScale=\"1\" pageWidth=\"827\" pageHeight=\"1169\" math=\"0\" shadow=\"0\"><root><mxCell id=\"0\"/><mxCell id=\"1\" parent=\"0\"/><mxCell id=\"G6Pp0vN6bFu9NTuqtbdY-9\" value=\"\" style=\"edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;\" parent=\"1\" source=\"G6Pp0vN6bFu9NTuqtbdY-2\" target=\"G6Pp0vN6bFu9NTuqtbdY-3\" edge=\"1\"><mxGeometry relative=\"1\" as=\"geometry\"/></mxCell><mxCell id=\"LLYs0ycAy4ud-bftnCw8-17\" value=\"\" style=\"edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;endFill=0;\" parent=\"1\" source=\"G6Pp0vN6bFu9NTuqtbdY-2\" target=\"LLYs0ycAy4ud-bftnCw8-16\" edge=\"1\"><mxGeometry relative=\"1\" as=\"geometry\"/></mxCell><mxCell id=\"G6Pp0vN6bFu9NTuqtbdY-2\" value=\"create_dtls_listener_server\" style=\"rounded=0;whiteSpace=wrap;html=1;\" parent=\"1\" vertex=\"1\"><mxGeometry x=\"110\" y=\"90\" width=\"180\" height=\"20\" as=\"geometry\"/></mxCell><mxCell id=\"G6Pp0vN6bFu9NTuqtbdY-10\" value=\"\" style=\"edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;\" parent=\"1\" source=\"G6Pp0vN6bFu9NTuqtbdY-3\" target=\"G6Pp0vN6bFu9NTuqtbdY-11\" edge=\"1\"><mxGeometry relative=\"1\" as=\"geometry\"><mxPoint x=\"240\" y=\"250\" as=\"targetPoint\"/></mxGeometry></mxCell><mxCell id=\"G6Pp0vN6bFu9NTuqtbdY-3\" value=\"create_server_socket\" style=\"rounded=0;whiteSpace=wrap;html=1;\" parent=\"1\" vertex=\"1\"><mxGeometry x=\"140\" y=\"160\" width=\"120\" height=\"20\" as=\"geometry\"/></mxCell><mxCell id=\"G6Pp0vN6bFu9NTuqtbdY-13\" value=\"\" style=\"edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;\" parent=\"1\" source=\"G6Pp0vN6bFu9NTuqtbdY-11\" target=\"G6Pp0vN6bFu9NTuqtbdY-12\" edge=\"1\"><mxGeometry relative=\"1\" as=\"geometry\"/></mxCell><mxCell id=\"G6Pp0vN6bFu9NTuqtbdY-11\" value=\"udp_server_input_handler\" style=\"rounded=0;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;\" parent=\"1\" vertex=\"1\"><mxGeometry x=\"110\" y=\"216\" width=\"180\" height=\"24\" as=\"geometry\"/></mxCell><mxCell id=\"G6Pp0vN6bFu9NTuqtbdY-18\" style=\"edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;\" parent=\"1\" source=\"G6Pp0vN6bFu9NTuqtbdY-12\" target=\"G6Pp0vN6bFu9NTuqtbdY-15\" edge=\"1\"><mxGeometry relative=\"1\" as=\"geometry\"><Array as=\"points\"><mxPoint x=\"200\" y=\"299\"/><mxPoint x=\"360\" y=\"299\"/><mxPoint x=\"360\" y=\"359\"/></Array></mxGeometry></mxCell><mxCell id=\"G6Pp0vN6bFu9NTuqtbdY-12\" value=\"udp_recvfrom\" style=\"rounded=0;whiteSpace=wrap;html=1;\" parent=\"1\" vertex=\"1\"><mxGeometry x=\"140\" y=\"273\" width=\"120\" height=\"20\" as=\"geometry\"/></mxCell><mxCell id=\"G6Pp0vN6bFu9NTuqtbdY-28\" value=\"\" style=\"edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;\" parent=\"1\" source=\"G6Pp0vN6bFu9NTuqtbdY-14\" target=\"G6Pp0vN6bFu9NTuqtbdY-27\" edge=\"1\"><mxGeometry relative=\"1\" as=\"geometry\"/></mxCell><mxCell id=\"G6Pp0vN6bFu9NTuqtbdY-14\" value=\"handle_udp_packet\" style=\"rounded=0;whiteSpace=wrap;html=1;\" parent=\"1\" vertex=\"1\"><mxGeometry x=\"150\" y=\"450\" width=\"120\" height=\"21\" as=\"geometry\"/></mxCell><mxCell id=\"nF21LRaPK5qXbV-Z2aID-1\" style=\"edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;\" edge=\"1\" parent=\"1\" source=\"G6Pp0vN6bFu9NTuqtbdY-15\" target=\"G6Pp0vN6bFu9NTuqtbdY-16\"><mxGeometry relative=\"1\" as=\"geometry\"/></mxCell><mxCell id=\"nF21LRaPK5qXbV-Z2aID-2\" value=\"YES\" style=\"edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];\" vertex=\"1\" connectable=\"0\" parent=\"nF21LRaPK5qXbV-Z2aID-1\"><mxGeometry x=\"0.0049\" y=\"3\" relative=\"1\" as=\"geometry\"><mxPoint x=\"-2\" y=\"-8\" as=\"offset\"/></mxGeometry></mxCell><mxCell id=\"G6Pp0vN6bFu9NTuqtbdY-15\" value=\"&lt;font color=&quot;#2d7600&quot;&gt;connect_cb&lt;/font&gt;\" style=\"rhombus;whiteSpace=wrap;html=1;\" parent=\"1\" vertex=\"1\"><mxGeometry x=\"490\" y=\"319.25\" width=\"80\" height=\"80\" as=\"geometry\"/></mxCell><mxCell id=\"G6Pp0vN6bFu9NTuqtbdY-16\" value=\"send_socket_to_general_relay\" style=\"rounded=0;whiteSpace=wrap;html=1;\" parent=\"1\" vertex=\"1\"><mxGeometry x=\"625\" y=\"450\" width=\"176\" height=\"20\" as=\"geometry\"/></mxCell><mxCell id=\"G6Pp0vN6bFu9NTuqtbdY-24\" style=\"edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;\" parent=\"1\" source=\"G6Pp0vN6bFu9NTuqtbdY-15\" target=\"G6Pp0vN6bFu9NTuqtbdY-14\" edge=\"1\"><mxGeometry relative=\"1\" as=\"geometry\"/></mxCell><mxCell id=\"G6Pp0vN6bFu9NTuqtbdY-25\" value=\"NO\" style=\"edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];\" parent=\"G6Pp0vN6bFu9NTuqtbdY-24\" vertex=\"1\" connectable=\"0\"><mxGeometry x=\"0.0058\" relative=\"1\" as=\"geometry\"><mxPoint y=\"-11\" as=\"offset\"/></mxGeometry></mxCell><mxCell id=\"G6Pp0vN6bFu9NTuqtbdY-32\" value=\"\" style=\"edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;\" parent=\"1\" source=\"G6Pp0vN6bFu9NTuqtbdY-27\" target=\"G6Pp0vN6bFu9NTuqtbdY-33\" edge=\"1\"><mxGeometry relative=\"1\" as=\"geometry\"><mxPoint x=\"530\" y=\"645\" as=\"targetPoint\"/></mxGeometry></mxCell><mxCell id=\"G6Pp0vN6bFu9NTuqtbdY-27\" value=\"open_client_connection_session\" style=\"rounded=0;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#b85450;\" parent=\"1\" vertex=\"1\"><mxGeometry x=\"400\" y=\"560\" width=\"260\" height=\"40\" as=\"geometry\"/></mxCell><mxCell id=\"G6Pp0vN6bFu9NTuqtbdY-30\" style=\"edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;\" parent=\"1\" edge=\"1\"><mxGeometry relative=\"1\" as=\"geometry\"><mxPoint x=\"530\" y=\"615\" as=\"sourcePoint\"/><mxPoint x=\"530\" y=\"615\" as=\"targetPoint\"/></mxGeometry></mxCell><mxCell id=\"G6Pp0vN6bFu9NTuqtbdY-31\" style=\"edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;\" parent=\"1\" edge=\"1\"><mxGeometry relative=\"1\" as=\"geometry\"><mxPoint x=\"530\" y=\"615\" as=\"sourcePoint\"/><mxPoint x=\"530\" y=\"615\" as=\"targetPoint\"/></mxGeometry></mxCell><mxCell id=\"G6Pp0vN6bFu9NTuqtbdY-36\" value=\"\" style=\"edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;\" parent=\"1\" source=\"G6Pp0vN6bFu9NTuqtbdY-33\" target=\"G6Pp0vN6bFu9NTuqtbdY-35\" edge=\"1\"><mxGeometry relative=\"1\" as=\"geometry\"/></mxCell><mxCell id=\"G6Pp0vN6bFu9NTuqtbdY-33\" value=\"client_input_handler\" style=\"whiteSpace=wrap;html=1;rounded=0;fillColor=#e1d5e7;strokeColor=#9673a6;\" parent=\"1\" vertex=\"1\"><mxGeometry x=\"470\" y=\"635\" width=\"120\" height=\"25\" as=\"geometry\"/></mxCell><mxCell id=\"G6Pp0vN6bFu9NTuqtbdY-38\" value=\"\" style=\"edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;\" parent=\"1\" source=\"G6Pp0vN6bFu9NTuqtbdY-35\" target=\"G6Pp0vN6bFu9NTuqtbdY-37\" edge=\"1\"><mxGeometry relative=\"1\" as=\"geometry\"/></mxCell><mxCell id=\"G6Pp0vN6bFu9NTuqtbdY-55\" value=\"\" style=\"edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;\" parent=\"1\" source=\"G6Pp0vN6bFu9NTuqtbdY-35\" target=\"G6Pp0vN6bFu9NTuqtbdY-54\" edge=\"1\"><mxGeometry relative=\"1\" as=\"geometry\"/></mxCell><mxCell id=\"G6Pp0vN6bFu9NTuqtbdY-35\" value=\"read_client_connection\" style=\"whiteSpace=wrap;html=1;rounded=0;\" parent=\"1\" vertex=\"1\"><mxGeometry x=\"460\" y=\"683\" width=\"140\" height=\"31\" as=\"geometry\"/></mxCell><mxCell id=\"G6Pp0vN6bFu9NTuqtbdY-57\" value=\"\" style=\"edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;\" parent=\"1\" source=\"G6Pp0vN6bFu9NTuqtbdY-37\" target=\"G6Pp0vN6bFu9NTuqtbdY-56\" edge=\"1\"><mxGeometry relative=\"1\" as=\"geometry\"/></mxCell><mxCell id=\"G6Pp0vN6bFu9NTuqtbdY-37\" value=\"handle_turn_command\" style=\"whiteSpace=wrap;html=1;rounded=0;\" parent=\"1\" vertex=\"1\"><mxGeometry x=\"340\" y=\"755\" width=\"140\" height=\"25\" as=\"geometry\"/></mxCell><mxCell id=\"G6Pp0vN6bFu9NTuqtbdY-45\" value=\"\" style=\"edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;endFill=0;startArrow=classic;startFill=1;\" parent=\"1\" source=\"G6Pp0vN6bFu9NTuqtbdY-41\" target=\"G6Pp0vN6bFu9NTuqtbdY-44\" edge=\"1\"><mxGeometry relative=\"1\" as=\"geometry\"/></mxCell><mxCell id=\"G6Pp0vN6bFu9NTuqtbdY-49\" value=\"\" style=\"edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;\" parent=\"1\" source=\"G6Pp0vN6bFu9NTuqtbdY-41\" target=\"G6Pp0vN6bFu9NTuqtbdY-48\" edge=\"1\"><mxGeometry relative=\"1\" as=\"geometry\"/></mxCell><mxCell id=\"G6Pp0vN6bFu9NTuqtbdY-41\" value=\"relay_receive_message\" style=\"whiteSpace=wrap;html=1;rounded=0;\" parent=\"1\" vertex=\"1\"><mxGeometry x=\"910\" y=\"449\" width=\"154\" height=\"23\" as=\"geometry\"/></mxCell><mxCell id=\"G6Pp0vN6bFu9NTuqtbdY-43\" value=\"\" style=\"shape=flexArrow;endArrow=classic;html=1;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;\" parent=\"1\" source=\"G6Pp0vN6bFu9NTuqtbdY-16\" target=\"G6Pp0vN6bFu9NTuqtbdY-41\" edge=\"1\"><mxGeometry width=\"50\" height=\"50\" relative=\"1\" as=\"geometry\"><mxPoint x=\"400\" y=\"490\" as=\"sourcePoint\"/><mxPoint x=\"450\" y=\"440\" as=\"targetPoint\"/></mxGeometry></mxCell><mxCell id=\"G6Pp0vN6bFu9NTuqtbdY-47\" value=\"\" style=\"edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;endFill=0;startArrow=classic;startFill=1;\" parent=\"1\" source=\"G6Pp0vN6bFu9NTuqtbdY-44\" target=\"G6Pp0vN6bFu9NTuqtbdY-46\" edge=\"1\"><mxGeometry relative=\"1\" as=\"geometry\"/></mxCell><mxCell id=\"LLYs0ycAy4ud-bftnCw8-22\" style=\"edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;\" parent=\"1\" source=\"G6Pp0vN6bFu9NTuqtbdY-44\" target=\"LLYs0ycAy4ud-bftnCw8-21\" edge=\"1\"><mxGeometry relative=\"1\" as=\"geometry\"><Array as=\"points\"><mxPoint x=\"987\" y=\"390\"/><mxPoint x=\"1201\" y=\"390\"/></Array></mxGeometry></mxCell><mxCell id=\"G6Pp0vN6bFu9NTuqtbdY-44\" value=\"setup_relay_server\" style=\"whiteSpace=wrap;html=1;rounded=0;\" parent=\"1\" vertex=\"1\"><mxGeometry x=\"927\" y=\"347.5\" width=\"120\" height=\"23.5\" as=\"geometry\"/></mxCell><mxCell id=\"G6Pp0vN6bFu9NTuqtbdY-46\" value=\"run_general_relay_thread\" style=\"whiteSpace=wrap;html=1;rounded=0;\" parent=\"1\" vertex=\"1\"><mxGeometry x=\"1094\" y=\"190\" width=\"147\" height=\"38.25\" as=\"geometry\"/></mxCell><mxCell id=\"G6Pp0vN6bFu9NTuqtbdY-50\" style=\"edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;\" parent=\"1\" source=\"G6Pp0vN6bFu9NTuqtbdY-48\" target=\"G6Pp0vN6bFu9NTuqtbdY-27\" edge=\"1\"><mxGeometry relative=\"1\" as=\"geometry\"/></mxCell><mxCell id=\"G6Pp0vN6bFu9NTuqtbdY-48\" value=\"handle_relay_message\" style=\"whiteSpace=wrap;html=1;rounded=0;\" parent=\"1\" vertex=\"1\"><mxGeometry x=\"919\" y=\"517\" width=\"137\" height=\"20.5\" as=\"geometry\"/></mxCell><mxCell id=\"G6Pp0vN6bFu9NTuqtbdY-54\" value=\"handle_old_stun_command\" style=\"whiteSpace=wrap;html=1;rounded=0;\" parent=\"1\" vertex=\"1\"><mxGeometry x=\"560\" y=\"755\" width=\"160\" height=\"26.5\" as=\"geometry\"/></mxCell><mxCell id=\"G6Pp0vN6bFu9NTuqtbdY-59\" value=\"\" style=\"edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;\" parent=\"1\" source=\"G6Pp0vN6bFu9NTuqtbdY-56\" target=\"G6Pp0vN6bFu9NTuqtbdY-58\" edge=\"1\"><mxGeometry relative=\"1\" as=\"geometry\"/></mxCell><mxCell id=\"G6Pp0vN6bFu9NTuqtbdY-56\" value=\"handle_turn_allocate\" style=\"whiteSpace=wrap;html=1;rounded=0;\" parent=\"1\" vertex=\"1\"><mxGeometry x=\"350\" y=\"815\" width=\"120\" height=\"22.5\" as=\"geometry\"/></mxCell><mxCell id=\"G6Pp0vN6bFu9NTuqtbdY-61\" value=\"\" style=\"edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;\" parent=\"1\" source=\"G6Pp0vN6bFu9NTuqtbdY-58\" target=\"hP5A85kGjmnAjHvHM-Ni-1\" edge=\"1\"><mxGeometry relative=\"1\" as=\"geometry\"/></mxCell><mxCell id=\"hP5A85kGjmnAjHvHM-Ni-7\" value=\"register_callback_on_ioa_socket\" style=\"edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];\" parent=\"G6Pp0vN6bFu9NTuqtbdY-61\" vertex=\"1\" connectable=\"0\"><mxGeometry x=\"-0.2974\" y=\"1\" relative=\"1\" as=\"geometry\"><mxPoint as=\"offset\"/></mxGeometry></mxCell><mxCell id=\"L2Mt6WvLMQUCUICwPJAt-10\" value=\"\" style=\"edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;\" parent=\"1\" source=\"G6Pp0vN6bFu9NTuqtbdY-58\" target=\"L2Mt6WvLMQUCUICwPJAt-9\" edge=\"1\"><mxGeometry relative=\"1\" as=\"geometry\"/></mxCell><mxCell id=\"hP5A85kGjmnAjHvHM-Ni-16\" value=\"create_relay_ioa_sockets\" style=\"edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];\" parent=\"L2Mt6WvLMQUCUICwPJAt-10\" vertex=\"1\" connectable=\"0\"><mxGeometry x=\"-0.0148\" y=\"-2\" relative=\"1\" as=\"geometry\"><mxPoint y=\"-16\" as=\"offset\"/></mxGeometry></mxCell><mxCell id=\"L2Mt6WvLMQUCUICwPJAt-16\" value=\"\" style=\"edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;endFill=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=1;exitDx=0;exitDy=0;\" parent=\"1\" source=\"G6Pp0vN6bFu9NTuqtbdY-58\" target=\"L2Mt6WvLMQUCUICwPJAt-15\" edge=\"1\"><mxGeometry relative=\"1\" as=\"geometry\"><Array as=\"points\"><mxPoint x=\"530\" y=\"911.25\"/><mxPoint x=\"530\" y=\"961.25\"/></Array></mxGeometry></mxCell><mxCell id=\"hP5A85kGjmnAjHvHM-Ni-5\" style=\"edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;endArrow=none;endFill=0;\" parent=\"1\" source=\"G6Pp0vN6bFu9NTuqtbdY-58\" target=\"hP5A85kGjmnAjHvHM-Ni-4\" edge=\"1\"><mxGeometry relative=\"1\" as=\"geometry\"/></mxCell><mxCell id=\"G6Pp0vN6bFu9NTuqtbdY-58\" value=\"create_relay_connection\" style=\"whiteSpace=wrap;html=1;rounded=0;fillColor=#f8cecc;strokeColor=#b85450;\" parent=\"1\" vertex=\"1\"><mxGeometry x=\"335\" y=\"880\" width=\"150\" height=\"31.25\" as=\"geometry\"/></mxCell><mxCell id=\"L2Mt6WvLMQUCUICwPJAt-2\" value=\"\" style=\"edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;\" parent=\"1\" source=\"G6Pp0vN6bFu9NTuqtbdY-60\" target=\"L2Mt6WvLMQUCUICwPJAt-1\" edge=\"1\"><mxGeometry relative=\"1\" as=\"geometry\"/></mxCell><mxCell id=\"G6Pp0vN6bFu9NTuqtbdY-60\" value=\"peer_input_handler\" style=\"whiteSpace=wrap;html=1;rounded=0;fillColor=#d5e8d4;strokeColor=#82b366;\" parent=\"1\" vertex=\"1\"><mxGeometry x=\"360\" y=\"1219.24\" width=\"120\" height=\"16.88\" as=\"geometry\"/></mxCell><mxCell id=\"L2Mt6WvLMQUCUICwPJAt-4\" value=\"\" style=\"edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;\" parent=\"1\" source=\"L2Mt6WvLMQUCUICwPJAt-1\" target=\"L2Mt6WvLMQUCUICwPJAt-3\" edge=\"1\"><mxGeometry relative=\"1\" as=\"geometry\"/></mxCell><mxCell id=\"L2Mt6WvLMQUCUICwPJAt-1\" value=\"write_client_connection\" style=\"whiteSpace=wrap;html=1;rounded=0;\" parent=\"1\" vertex=\"1\"><mxGeometry x=\"350\" y=\"1281.25\" width=\"140\" height=\"30\" as=\"geometry\"/></mxCell><mxCell id=\"L2Mt6WvLMQUCUICwPJAt-24\" value=\"\" style=\"edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;\" parent=\"1\" source=\"L2Mt6WvLMQUCUICwPJAt-3\" target=\"L2Mt6WvLMQUCUICwPJAt-5\" edge=\"1\"><mxGeometry relative=\"1\" as=\"geometry\"/></mxCell><mxCell id=\"L2Mt6WvLMQUCUICwPJAt-28\" style=\"edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;\" parent=\"1\" source=\"L2Mt6WvLMQUCUICwPJAt-3\" target=\"L2Mt6WvLMQUCUICwPJAt-25\" edge=\"1\"><mxGeometry relative=\"1\" as=\"geometry\"/></mxCell><mxCell id=\"L2Mt6WvLMQUCUICwPJAt-29\" style=\"edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;\" parent=\"1\" source=\"L2Mt6WvLMQUCUICwPJAt-3\" target=\"L2Mt6WvLMQUCUICwPJAt-27\" edge=\"1\"><mxGeometry relative=\"1\" as=\"geometry\"><Array as=\"points\"><mxPoint x=\"640\" y=\"1431.25\"/><mxPoint x=\"776\" y=\"1431.25\"/></Array></mxGeometry></mxCell><mxCell id=\"L2Mt6WvLMQUCUICwPJAt-3\" value=\"send_data_from_ioa_socket_nbh\" style=\"whiteSpace=wrap;html=1;rounded=0;fillColor=#f8cecc;strokeColor=#b85450;\" parent=\"1\" vertex=\"1\"><mxGeometry x=\"545\" y=\"1371.25\" width=\"190\" height=\"35\" as=\"geometry\"/></mxCell><mxCell id=\"L2Mt6WvLMQUCUICwPJAt-5\" value=\"udp_send\" style=\"whiteSpace=wrap;html=1;rounded=0;\" parent=\"1\" vertex=\"1\"><mxGeometry x=\"410\" y=\"1457.75\" width=\"120\" height=\"27.5\" as=\"geometry\"/></mxCell><mxCell id=\"hP5A85kGjmnAjHvHM-Ni-29\" style=\"edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;dashed=1;\" parent=\"1\" source=\"L2Mt6WvLMQUCUICwPJAt-7\" target=\"hP5A85kGjmnAjHvHM-Ni-23\" edge=\"1\"><mxGeometry relative=\"1\" as=\"geometry\"/></mxCell><mxCell id=\"hP5A85kGjmnAjHvHM-Ni-30\" value=\"register_callback_on_ioa_socket\" style=\"edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];\" parent=\"hP5A85kGjmnAjHvHM-Ni-29\" vertex=\"1\" connectable=\"0\"><mxGeometry x=\"-0.2\" relative=\"1\" as=\"geometry\"><mxPoint as=\"offset\"/></mxGeometry></mxCell><mxCell id=\"L2Mt6WvLMQUCUICwPJAt-7\" value=\"tcp_peer_accept_connection\" style=\"whiteSpace=wrap;html=1;rounded=0;\" parent=\"1\" vertex=\"1\"><mxGeometry x=\"791\" y=\"951.25\" width=\"170\" height=\"20\" as=\"geometry\"/></mxCell><mxCell id=\"L2Mt6WvLMQUCUICwPJAt-11\" value=\"\" style=\"edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;\" parent=\"1\" source=\"L2Mt6WvLMQUCUICwPJAt-9\" target=\"L2Mt6WvLMQUCUICwPJAt-7\" edge=\"1\"><mxGeometry relative=\"1\" as=\"geometry\"/></mxCell><mxCell id=\"L2Mt6WvLMQUCUICwPJAt-9\" value=\"tcp_listener_input_handler\" style=\"whiteSpace=wrap;html=1;rounded=0;fillColor=#ffe6cc;strokeColor=#d79b00;\" parent=\"1\" vertex=\"1\"><mxGeometry x=\"801\" y=\"884.25\" width=\"150\" height=\"24.38\" as=\"geometry\"/></mxCell><mxCell id=\"L2Mt6WvLMQUCUICwPJAt-18\" style=\"edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;endArrow=none;endFill=0;\" parent=\"1\" source=\"L2Mt6WvLMQUCUICwPJAt-15\" target=\"L2Mt6WvLMQUCUICwPJAt-7\" edge=\"1\"><mxGeometry relative=\"1\" as=\"geometry\"/></mxCell><mxCell id=\"L2Mt6WvLMQUCUICwPJAt-15\" value=\"&lt;div&gt;create_relay_ioa_sockets&lt;/div&gt;&lt;div&gt;_ioa_socket::acb&lt;/div&gt;\" style=\"whiteSpace=wrap;html=1;rounded=0;\" parent=\"1\" vertex=\"1\"><mxGeometry x=\"568\" y=\"936.25\" width=\"140\" height=\"50.01\" as=\"geometry\"/></mxCell><mxCell id=\"L2Mt6WvLMQUCUICwPJAt-21\" style=\"edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;\" parent=\"1\" source=\"L2Mt6WvLMQUCUICwPJAt-19\" target=\"L2Mt6WvLMQUCUICwPJAt-3\" edge=\"1\"><mxGeometry relative=\"1\" as=\"geometry\"/></mxCell><mxCell id=\"L2Mt6WvLMQUCUICwPJAt-19\" value=\"tcp_peer_input_handler\" style=\"whiteSpace=wrap;html=1;rounded=0;fillColor=#ffe6cc;strokeColor=#d79b00;\" parent=\"1\" vertex=\"1\"><mxGeometry x=\"808\" y=\"1219.2399999999998\" width=\"136\" height=\"20\" as=\"geometry\"/></mxCell><mxCell id=\"L2Mt6WvLMQUCUICwPJAt-25\" value=\"bufferevent_write\" style=\"rounded=0;whiteSpace=wrap;html=1;\" parent=\"1\" vertex=\"1\"><mxGeometry x=\"580\" y=\"1457.75\" width=\"120\" height=\"31\" as=\"geometry\"/></mxCell><mxCell id=\"L2Mt6WvLMQUCUICwPJAt-26\" style=\"edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;\" parent=\"1\" source=\"L2Mt6WvLMQUCUICwPJAt-25\" target=\"L2Mt6WvLMQUCUICwPJAt-25\" edge=\"1\"><mxGeometry relative=\"1\" as=\"geometry\"/></mxCell><mxCell id=\"L2Mt6WvLMQUCUICwPJAt-27\" value=\"ssl_send\" style=\"rounded=0;whiteSpace=wrap;html=1;\" parent=\"1\" vertex=\"1\"><mxGeometry x=\"716\" y=\"1457.75\" width=\"120\" height=\"31\" as=\"geometry\"/></mxCell><mxCell id=\"hP5A85kGjmnAjHvHM-Ni-3\" style=\"edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;\" parent=\"1\" source=\"hP5A85kGjmnAjHvHM-Ni-1\" target=\"hP5A85kGjmnAjHvHM-Ni-8\" edge=\"1\"><mxGeometry relative=\"1\" as=\"geometry\"/></mxCell><mxCell id=\"hP5A85kGjmnAjHvHM-Ni-1\" value=\"socket_input_handler\" style=\"rounded=0;whiteSpace=wrap;html=1;\" parent=\"1\" vertex=\"1\"><mxGeometry x=\"350\" y=\"1015.75\" width=\"120\" height=\"25\" as=\"geometry\"/></mxCell><mxCell id=\"hP5A85kGjmnAjHvHM-Ni-6\" style=\"edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;endArrow=none;endFill=0;\" parent=\"1\" source=\"hP5A85kGjmnAjHvHM-Ni-4\" target=\"aIsPIwyctZogymb4Lqhh-1\" edge=\"1\"><mxGeometry relative=\"1\" as=\"geometry\"/></mxCell><mxCell id=\"hP5A85kGjmnAjHvHM-Ni-4\" value=\"&lt;div&gt;register_callback_on_ioa_socket&lt;/div&gt;&lt;div&gt;_ioa_socket::read_cb=peer_input_handler&lt;/div&gt;\" style=\"rounded=0;whiteSpace=wrap;html=1;\" parent=\"1\" vertex=\"1\"><mxGeometry x=\"90\" y=\"936.25\" width=\"180\" height=\"60\" as=\"geometry\"/></mxCell><mxCell id=\"aIsPIwyctZogymb4Lqhh-2\" value=\"\" style=\"edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;\" parent=\"1\" source=\"hP5A85kGjmnAjHvHM-Ni-8\" target=\"aIsPIwyctZogymb4Lqhh-1\" edge=\"1\"><mxGeometry relative=\"1\" as=\"geometry\"/></mxCell><mxCell id=\"hP5A85kGjmnAjHvHM-Ni-8\" value=\"socket_input_worker\" style=\"rounded=0;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#b85450;\" parent=\"1\" vertex=\"1\"><mxGeometry x=\"560\" y=\"1086.25\" width=\"120\" height=\"30\" as=\"geometry\"/></mxCell><mxCell id=\"hP5A85kGjmnAjHvHM-Ni-10\" value=\"udp_recvfrom\" style=\"rounded=0;whiteSpace=wrap;html=1;\" parent=\"1\" vertex=\"1\"><mxGeometry x=\"370\" y=\"1111.25\" width=\"120\" height=\"30\" as=\"geometry\"/></mxCell><mxCell id=\"hP5A85kGjmnAjHvHM-Ni-11\" style=\"edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;\" parent=\"1\" source=\"hP5A85kGjmnAjHvHM-Ni-10\" target=\"hP5A85kGjmnAjHvHM-Ni-10\" edge=\"1\"><mxGeometry relative=\"1\" as=\"geometry\"/></mxCell><mxCell id=\"hP5A85kGjmnAjHvHM-Ni-21\" style=\"edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;endArrow=none;endFill=0;\" parent=\"1\" source=\"L2Mt6WvLMQUCUICwPJAt-7\" target=\"hP5A85kGjmnAjHvHM-Ni-20\" edge=\"1\"><mxGeometry relative=\"1\" as=\"geometry\"/></mxCell><mxCell id=\"hP5A85kGjmnAjHvHM-Ni-22\" style=\"edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1;entryY=0.5;entryDx=0;entryDy=0;endArrow=none;endFill=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;\" parent=\"1\" source=\"hP5A85kGjmnAjHvHM-Ni-20\" target=\"aIsPIwyctZogymb4Lqhh-1\" edge=\"1\"><mxGeometry relative=\"1\" as=\"geometry\"/></mxCell><mxCell id=\"hP5A85kGjmnAjHvHM-Ni-20\" value=\"&lt;div&gt;register_callback_on_ioa_socket&lt;/div&gt;&lt;div&gt;read_cb=tcp_peer_input_handler&lt;/div&gt;\" style=\"rounded=0;whiteSpace=wrap;html=1;\" parent=\"1\" vertex=\"1\"><mxGeometry x=\"1030\" y=\"1071.25\" width=\"180\" height=\"60\" as=\"geometry\"/></mxCell><mxCell id=\"hP5A85kGjmnAjHvHM-Ni-25\" style=\"edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;\" parent=\"1\" source=\"hP5A85kGjmnAjHvHM-Ni-23\" target=\"hP5A85kGjmnAjHvHM-Ni-8\" edge=\"1\"><mxGeometry relative=\"1\" as=\"geometry\"><Array as=\"points\"><mxPoint x=\"876\" y=\"1061.25\"/><mxPoint x=\"620\" y=\"1061.25\"/></Array></mxGeometry></mxCell><mxCell id=\"hP5A85kGjmnAjHvHM-Ni-23\" value=\"socket_input_handler_bev\" style=\"rounded=0;whiteSpace=wrap;html=1;\" parent=\"1\" vertex=\"1\"><mxGeometry x=\"785.5\" y=\"1011.25\" width=\"181\" height=\"34\" as=\"geometry\"/></mxCell><mxCell id=\"LLYs0ycAy4ud-bftnCw8-3\" value=\"\" style=\"edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;\" parent=\"1\" source=\"LLYs0ycAy4ud-bftnCw8-1\" target=\"LLYs0ycAy4ud-bftnCw8-2\" edge=\"1\"><mxGeometry relative=\"1\" as=\"geometry\"/></mxCell><mxCell id=\"LLYs0ycAy4ud-bftnCw8-32\" value=\"&lt;font color=&quot;#2d7600&quot;&gt;connect_cb=send_socket_to_general_relay&lt;/font&gt;\" style=\"edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];\" parent=\"LLYs0ycAy4ud-bftnCw8-3\" vertex=\"1\" connectable=\"0\"><mxGeometry x=\"-0.1652\" y=\"1\" relative=\"1\" as=\"geometry\"><mxPoint as=\"offset\"/></mxGeometry></mxCell><mxCell id=\"LLYs0ycAy4ud-bftnCw8-1\" value=\"setup_tcp_listener_servers\" style=\"rounded=0;whiteSpace=wrap;html=1;\" parent=\"1\" vertex=\"1\"><mxGeometry x=\"710\" width=\"170\" height=\"30\" as=\"geometry\"/></mxCell><mxCell id=\"LLYs0ycAy4ud-bftnCw8-11\" style=\"edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;endArrow=none;endFill=0;\" parent=\"1\" source=\"LLYs0ycAy4ud-bftnCw8-2\" target=\"LLYs0ycAy4ud-bftnCw8-10\" edge=\"1\"><mxGeometry relative=\"1\" as=\"geometry\"/></mxCell><mxCell id=\"LLYs0ycAy4ud-bftnCw8-35\" style=\"edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;\" parent=\"1\" source=\"LLYs0ycAy4ud-bftnCw8-2\" target=\"LLYs0ycAy4ud-bftnCw8-34\" edge=\"1\"><mxGeometry relative=\"1\" as=\"geometry\"/></mxCell><mxCell id=\"LLYs0ycAy4ud-bftnCw8-2\" value=\"create_tls_listener_server\" style=\"whiteSpace=wrap;html=1;rounded=0;\" parent=\"1\" vertex=\"1\"><mxGeometry x=\"722.5\" y=\"87.5\" width=\"145\" height=\"25\" as=\"geometry\"/></mxCell><mxCell id=\"LLYs0ycAy4ud-bftnCw8-7\" style=\"edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;\" parent=\"1\" source=\"LLYs0ycAy4ud-bftnCw8-5\" target=\"G6Pp0vN6bFu9NTuqtbdY-15\" edge=\"1\"><mxGeometry relative=\"1\" as=\"geometry\"><mxPoint x=\"720\" y=\"433\" as=\"targetPoint\"/><Array as=\"points\"><mxPoint x=\"795\" y=\"310\"/><mxPoint x=\"720\" y=\"310\"/><mxPoint x=\"720\" y=\"359\"/></Array></mxGeometry></mxCell><mxCell id=\"LLYs0ycAy4ud-bftnCw8-5\" value=\"server_input_handler\" style=\"whiteSpace=wrap;html=1;rounded=0;fillColor=#fff2cc;strokeColor=#d6b656;\" parent=\"1\" vertex=\"1\"><mxGeometry x=\"735\" y=\"216\" width=\"120\" height=\"32.5\" as=\"geometry\"/></mxCell><mxCell id=\"LLYs0ycAy4ud-bftnCw8-12\" style=\"edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;endArrow=none;endFill=0;\" parent=\"1\" source=\"LLYs0ycAy4ud-bftnCw8-10\" target=\"G6Pp0vN6bFu9NTuqtbdY-15\" edge=\"1\"><mxGeometry relative=\"1\" as=\"geometry\"/></mxCell><mxCell id=\"LLYs0ycAy4ud-bftnCw8-10\" value=\"tls_listener_relay_server_type\" style=\"rounded=0;whiteSpace=wrap;html=1;\" parent=\"1\" vertex=\"1\"><mxGeometry x=\"516\" y=\"90\" width=\"170\" height=\"30\" as=\"geometry\"/></mxCell><mxCell id=\"LLYs0ycAy4ud-bftnCw8-18\" style=\"edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;endArrow=none;endFill=0;\" parent=\"1\" source=\"LLYs0ycAy4ud-bftnCw8-16\" target=\"G6Pp0vN6bFu9NTuqtbdY-15\" edge=\"1\"><mxGeometry relative=\"1\" as=\"geometry\"/></mxCell><mxCell id=\"LLYs0ycAy4ud-bftnCw8-16\" value=\"dtls_listener_relay_server_type\" style=\"whiteSpace=wrap;html=1;rounded=0;\" parent=\"1\" vertex=\"1\"><mxGeometry x=\"320\" y=\"85\" width=\"170\" height=\"30\" as=\"geometry\"/></mxCell><mxCell id=\"LLYs0ycAy4ud-bftnCw8-20\" style=\"edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;\" parent=\"1\" source=\"LLYs0ycAy4ud-bftnCw8-19\" target=\"G6Pp0vN6bFu9NTuqtbdY-44\" edge=\"1\"><mxGeometry relative=\"1\" as=\"geometry\"/></mxCell><mxCell id=\"LLYs0ycAy4ud-bftnCw8-23\" style=\"edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;\" parent=\"1\" source=\"LLYs0ycAy4ud-bftnCw8-19\" target=\"G6Pp0vN6bFu9NTuqtbdY-46\" edge=\"1\"><mxGeometry relative=\"1\" as=\"geometry\"/></mxCell><mxCell id=\"LLYs0ycAy4ud-bftnCw8-19\" value=\"setup_general_relay_servers\" style=\"rounded=0;whiteSpace=wrap;html=1;\" parent=\"1\" vertex=\"1\"><mxGeometry x=\"970\" width=\"160\" height=\"30\" as=\"geometry\"/></mxCell><mxCell id=\"LLYs0ycAy4ud-bftnCw8-21\" value=\"relay_receive_auth_message\" style=\"rounded=0;whiteSpace=wrap;html=1;\" parent=\"1\" vertex=\"1\"><mxGeometry x=\"1121\" y=\"431\" width=\"159\" height=\"29\" as=\"geometry\"/></mxCell><mxCell id=\"LLYs0ycAy4ud-bftnCw8-29\" style=\"edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;\" parent=\"1\" source=\"LLYs0ycAy4ud-bftnCw8-24\" target=\"G6Pp0vN6bFu9NTuqtbdY-2\" edge=\"1\"><mxGeometry relative=\"1\" as=\"geometry\"><mxPoint x=\"203\" y=\"90\" as=\"targetPoint\"/></mxGeometry></mxCell><mxCell id=\"LLYs0ycAy4ud-bftnCw8-24\" value=\"setup_socket_per_endpoint_udp_listener_servers\" style=\"rounded=0;whiteSpace=wrap;html=1;\" parent=\"1\" vertex=\"1\"><mxGeometry x=\"-530\" width=\"275\" height=\"30\" as=\"geometry\"/></mxCell><mxCell id=\"LLYs0ycAy4ud-bftnCw8-28\" style=\"edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;\" parent=\"1\" source=\"LLYs0ycAy4ud-bftnCw8-25\" target=\"G6Pp0vN6bFu9NTuqtbdY-2\" edge=\"1\"><mxGeometry relative=\"1\" as=\"geometry\"><mxPoint x=\"200\" y=\"100\" as=\"targetPoint\"/></mxGeometry></mxCell><mxCell id=\"LLYs0ycAy4ud-bftnCw8-25\" value=\"setup_socket_per_thread_udp_listener_servers\" style=\"rounded=0;whiteSpace=wrap;html=1;\" parent=\"1\" vertex=\"1\"><mxGeometry x=\"-225\" width=\"260\" height=\"30\" as=\"geometry\"/></mxCell><mxCell id=\"LLYs0ycAy4ud-bftnCw8-27\" style=\"edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;\" parent=\"1\" source=\"LLYs0ycAy4ud-bftnCw8-26\" target=\"G6Pp0vN6bFu9NTuqtbdY-2\" edge=\"1\"><mxGeometry relative=\"1\" as=\"geometry\"/></mxCell><mxCell id=\"LLYs0ycAy4ud-bftnCw8-31\" value=\"&lt;font color=&quot;#2d7600&quot;&gt;connect_cb=send_socket_to_general_relay&lt;/font&gt;\" style=\"edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];\" parent=\"LLYs0ycAy4ud-bftnCw8-27\" vertex=\"1\" connectable=\"0\"><mxGeometry x=\"-0.3058\" y=\"1\" relative=\"1\" as=\"geometry\"><mxPoint as=\"offset\"/></mxGeometry></mxCell><mxCell id=\"LLYs0ycAy4ud-bftnCw8-26\" value=\"setup_socket_per_session_udp_listener_servers\" style=\"rounded=0;whiteSpace=wrap;html=1;\" parent=\"1\" vertex=\"1\"><mxGeometry x=\"66\" width=\"269\" height=\"30\" as=\"geometry\"/></mxCell><mxCell id=\"LLYs0ycAy4ud-bftnCw8-36\" style=\"edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;dashed=1;\" parent=\"1\" source=\"LLYs0ycAy4ud-bftnCw8-34\" target=\"LLYs0ycAy4ud-bftnCw8-5\" edge=\"1\"><mxGeometry relative=\"1\" as=\"geometry\"/></mxCell><mxCell id=\"LLYs0ycAy4ud-bftnCw8-34\" value=\"create_server_listener\" style=\"rounded=0;whiteSpace=wrap;html=1;\" parent=\"1\" vertex=\"1\"><mxGeometry x=\"735\" y=\"150\" width=\"120\" height=\"30\" as=\"geometry\"/></mxCell><mxCell id=\"aIsPIwyctZogymb4Lqhh-3\" style=\"edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;\" parent=\"1\" source=\"aIsPIwyctZogymb4Lqhh-1\" target=\"G6Pp0vN6bFu9NTuqtbdY-60\" edge=\"1\"><mxGeometry relative=\"1\" as=\"geometry\"/></mxCell><mxCell id=\"aIsPIwyctZogymb4Lqhh-4\" style=\"edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;\" parent=\"1\" source=\"aIsPIwyctZogymb4Lqhh-1\" target=\"L2Mt6WvLMQUCUICwPJAt-19\" edge=\"1\"><mxGeometry relative=\"1\" as=\"geometry\"/></mxCell><mxCell id=\"aIsPIwyctZogymb4Lqhh-1\" value=\"read_cb\" style=\"whiteSpace=wrap;html=1;rounded=0;\" parent=\"1\" vertex=\"1\"><mxGeometry x=\"560\" y=\"1140.25\" width=\"120\" height=\"28.75\" as=\"geometry\"/></mxCell></root></mxGraphModel></diagram></mxfile>","toolbar":"pages zoom layers lightbox","page":0}"></div>
|
|
<a style="position:absolute;top:50%;left:50%;margin-top:-128px;margin-left:-64px;" href="https://app.diagrams.net/#HKangLin%2Fcoturn%2FFlowChart%2Fdocs%2Fdrawio%2FFlowChart.html" target="_blank"><img border="0" src="https://app.diagrams.net/images/drawlogo128.png"/></a>
|
|
</body>
|
|
</html>
|