Files
core_ng/docs/threads.drawio.svg
T
Hide_D a38f72fa46 doc: 스레드 구분에 외부 이벤트 처리기 명시
- 원래도 API 처리기에서 루프 돌릴 생각이긴 했음
2024-03-09 04:12:21 +00:00

289 lines
26 KiB
XML

<svg host="65bd71144e" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="751px" height="351px" viewBox="-0.5 -0.5 751 351" content="&lt;mxfile&gt;&lt;diagram id=&quot;wkgMyGHKSWno4An-QBqW&quot; name=&quot;페이지-1&quot;&gt;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&lt;/diagram&gt;&lt;/mxfile&gt;">
<defs/>
<g>
<path d="M 390 285 C 390 276.72 416.86 270 450 270 C 465.91 270 481.17 271.58 492.43 274.39 C 503.68 277.21 510 281.02 510 285 L 510 335 C 510 343.28 483.14 350 450 350 C 416.86 350 390 343.28 390 335 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/>
<path d="M 510 285 C 510 293.28 483.14 300 450 300 C 416.86 300 390 293.28 390 285" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 323px; margin-left: 391px;">
<div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">
MongoDB
<br/>
(게임 내부)
</div>
</div>
</div>
</foreignObject>
<text x="450" y="326" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">
MongoDB...
</text>
</switch>
</g>
<path d="M 110 285 C 110 276.72 136.86 270 170 270 C 185.91 270 201.17 271.58 212.43 274.39 C 223.68 277.21 230 281.02 230 285 L 230 335 C 230 343.28 203.14 350 170 350 C 136.86 350 110 343.28 110 335 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/>
<path d="M 230 285 C 230 293.28 203.14 300 170 300 C 136.86 300 110 293.28 110 285" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 323px; margin-left: 111px;">
<div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">
MongoDB
<br/>
(게임 외부)
</div>
</div>
</div>
</foreignObject>
<text x="170" y="326" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">
MongoDB...
</text>
</switch>
</g>
<rect x="110" y="120" width="120" height="60" rx="9" ry="9" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 150px; margin-left: 111px;">
<div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">
API 처리기
<br/>
<br/>
외부 이벤트 처리기
</div>
</div>
</div>
</foreignObject>
<text x="170" y="154" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">
API 처리기...
</text>
</switch>
</g>
<rect x="390" y="120" width="120" height="60" rx="9" ry="9" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 150px; margin-left: 391px;">
<div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">
게임 엔진
</div>
</div>
</div>
</foreignObject>
<text x="450" y="154" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">
게임 엔진
</text>
</switch>
</g>
<rect x="630" y="120" width="120" height="60" rx="9" ry="9" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 150px; margin-left: 631px;">
<div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">
NPC 명령 선택기
</div>
</div>
</div>
</foreignObject>
<text x="690" y="154" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">
NPC 명령 선택기
</text>
</switch>
</g>
<path d="M 182 186.37 L 182 270" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 182 181.12 L 185.5 188.12 L 182 186.37 L 178.5 188.12 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/>
<path d="M 232.93 182.95 L 406.8 274" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 228.28 180.52 L 236.11 180.67 L 232.93 182.95 L 232.86 186.87 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/>
<path d="M 383.63 135 L 230 135" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 388.88 135 L 381.88 138.5 L 383.63 135 L 381.88 131.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/>
<path d="M 236.37 150 L 390 150" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke"/>
<path d="M 231.12 150 L 238.12 146.5 L 236.37 150 L 238.12 153.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/>
<path d="M 623.63 165 L 510 165" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 628.88 165 L 621.88 168.5 L 623.63 165 L 621.88 161.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/>
<path d="M 516.37 135 L 630 135" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 511.12 135 L 518.12 131.5 L 516.37 135 L 518.12 138.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/>
<path d="M 438 180 L 438 263.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 438 268.88 L 434.5 261.88 L 438 263.63 L 441.5 261.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/>
<path d="M 654.45 183.13 L 493.2 274" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 659.03 180.55 L 654.65 187.03 L 654.45 183.13 L 651.21 180.94 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/>
<path d="M 158 180 L 158 263.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 158 268.88 L 154.5 261.88 L 158 263.63 L 161.5 261.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/>
<path d="M 462 186.37 L 462 270" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 462 181.12 L 465.5 188.12 L 462 186.37 L 458.5 188.12 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/>
<rect x="350" y="200" width="90" height="30" fill="none" stroke="none" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 88px; height: 1px; padding-top: 215px; margin-left: 351px;">
<div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">
변경된
<br/>
장수/도시/국가
<br/>
데이터 전달
</div>
</div>
</div>
</foreignObject>
<text x="395" y="219" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">
변경된장수/도시/국가...
</text>
</switch>
</g>
<rect x="530" y="100" width="80" height="30" fill="none" stroke="none" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 115px; margin-left: 531px;">
<div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">
NPC별
<br/>
턴 입력
</div>
</div>
</div>
</foreignObject>
<text x="570" y="119" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">
NPC별...
</text>
</switch>
</g>
<rect x="530" y="170" width="80" height="30" fill="none" stroke="none" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 185px; margin-left: 531px;">
<div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">
NPC별
<br/>
턴 입력 요청
</div>
</div>
</div>
</foreignObject>
<text x="570" y="189" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">
NPC별...
</text>
</switch>
</g>
<rect x="255" y="106" width="120" height="30" fill="none" stroke="none" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 121px; margin-left: 256px;">
<div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">
턴 입력 요청
<br/>
게임 데이터 변경 요청
</div>
</div>
</div>
</foreignObject>
<text x="315" y="125" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">
턴 입력 요청...
</text>
</switch>
</g>
<rect x="255" y="134" width="120" height="20" fill="none" stroke="none" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 144px; margin-left: 256px;">
<div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">
처리 결과 반환
</div>
</div>
</div>
</foreignObject>
<text x="315" y="148" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">
처리 결과 반환
</text>
</switch>
</g>
<ellipse cx="15" cy="127.5" rx="7.5" ry="7.5" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/>
<path d="M 15 135 L 15 160 M 15 140 L 0 140 M 15 140 L 30 140 M 15 160 L 0 180 M 15 160 L 30 180" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 187px; margin-left: 15px;">
<div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;">
Actor
</div>
</div>
</div>
</foreignObject>
<text x="15" y="199" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">
Actor
</text>
</switch>
</g>
<path d="M 103.63 135 L 40 135" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 108.88 135 L 101.88 138.5 L 103.63 135 L 101.88 131.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/>
<path d="M 46.37 165 L 110 165" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 41.12 165 L 48.12 161.5 L 46.37 165 L 48.12 168.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/>
<path d="M 236.37 165 L 390 165" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 231.12 165 L 238.12 161.5 L 236.37 165 L 238.12 168.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/>
<rect x="256" y="171" width="120" height="20" fill="none" stroke="none" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 181px; margin-left: 257px;">
<div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">
특정 명령 처리 요구
<br/>
(메시지 전송 등)
</div>
</div>
</div>
</foreignObject>
<text x="316" y="185" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">
특정 명령 처리 요구...
</text>
</switch>
</g>
<path d="M 392.71 180 L 218.84 271.05" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke"/>
<path d="M 214.19 273.48 L 218.77 267.13 L 218.84 271.05 L 222.02 273.33 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/>
<path d="M 410 15 C 410 6.72 427.91 0 450 0 C 460.61 0 470.78 1.58 478.28 4.39 C 485.79 7.21 490 11.02 490 15 L 490 55 C 490 63.28 472.09 70 450 70 C 427.91 70 410 63.28 410 55 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="all"/>
<path d="M 490 15 C 490 23.28 472.09 30 450 30 C 427.91 30 410 23.28 410 15" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 48px; margin-left: 411px;">
<div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">
In-memory cache
</div>
</div>
</div>
</foreignObject>
<text x="450" y="51" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">
In-memory cac...
</text>
</switch>
</g>
<path d="M 450 76.37 L 450 113.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 450 71.12 L 453.5 78.12 L 450 76.37 L 446.5 78.12 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/>
<path d="M 450 118.88 L 446.5 111.88 L 450 113.63 L 453.5 111.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/>
</g>
<switch>
<g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/>
<a transform="translate(0,-5)" xlink:href="https://www.diagrams.net/doc/faq/svg-export-text-problems" target="_blank">
<text text-anchor="middle" font-size="10px" x="50%" y="100%">
Text is not SVG - cannot display
</text>
</a>
</switch>
</svg>