mirror of
https://github.com/VCMP-SqMod/SqMod.git
synced 2025-01-19 12:07:13 +01:00
82 lines
2.0 KiB
Markdown
82 lines
2.0 KiB
Markdown
|
\page thread-model Thread Model
|
||
|
|
||
|
\dot
|
||
|
digraph "Thread Model" {
|
||
|
graph [ranksep=1];
|
||
|
node [colorscheme="blues9",fontname="helvetica"];
|
||
|
"Discord Events" -> "Your Program"
|
||
|
|
||
|
"Your Program" [style=filled, color=1, shape=rect]
|
||
|
"Cluster" [style=filled, color=1, shape=rect]
|
||
|
|
||
|
subgraph cluster_4 {
|
||
|
style=filled;
|
||
|
color=lightgrey;
|
||
|
node [style=filled,color=2]
|
||
|
"Your Program"
|
||
|
"Cluster"
|
||
|
label = "User Code";
|
||
|
}
|
||
|
|
||
|
subgraph cluster_0 {
|
||
|
style=filled;
|
||
|
color=lightgrey;
|
||
|
node [style=filled,color=4]
|
||
|
"Shard 1" [style=filled, color=4]
|
||
|
"Shard 2"
|
||
|
"Shard 3..."
|
||
|
label = "Shards (Each is a thread, one per 2500 discord guilds)";
|
||
|
}
|
||
|
|
||
|
subgraph cluster_1 {
|
||
|
style=filled
|
||
|
color=lightgrey;
|
||
|
node [style=filled,color=4]
|
||
|
"REST Requests"
|
||
|
"Request In Queue 1"
|
||
|
"Request In Queue 2"
|
||
|
"Request In Queue 3..."
|
||
|
"Request Out Queue"
|
||
|
label = "REST Requests (Each in queue, and the out queue, are threads)"
|
||
|
}
|
||
|
|
||
|
subgraph cluster_3 {
|
||
|
style=filled
|
||
|
color=lightgrey;
|
||
|
node [style=filled,color=4]
|
||
|
"Discord Events" [style=filled,color=4]
|
||
|
"User Callback Functions"
|
||
|
label = "Events and Callbacks"
|
||
|
}
|
||
|
|
||
|
"Cluster" [shape=rect]
|
||
|
"REST Requests" [shape=rect]
|
||
|
"Request In Queue 1" [shape=rect]
|
||
|
"Request In Queue 2" [shape=rect]
|
||
|
"Request In Queue 3..." [shape=rect]
|
||
|
"Shard 1" [shape=rect]
|
||
|
"Shard 2" [shape=rect]
|
||
|
"Shard 3..." [shape=rect]
|
||
|
"Request Out Queue" [shape=rect]
|
||
|
"Discord Events" [shape=rect]
|
||
|
"User Callback Functions" [shape=rect]
|
||
|
|
||
|
"Cluster" -> "REST Requests"
|
||
|
"Shard 1" -> "Discord Events"
|
||
|
"Shard 2" -> "Discord Events"
|
||
|
"Shard 3..." -> "Discord Events"
|
||
|
"Your Program" -> "Cluster"
|
||
|
"Cluster" -> "Shard 1"
|
||
|
"Cluster" -> "Shard 2"
|
||
|
"Cluster" -> "Shard 3..."
|
||
|
"REST Requests" -> "Request In Queue 1"
|
||
|
"REST Requests" -> "Request In Queue 2"
|
||
|
"REST Requests" -> "Request In Queue 3..."
|
||
|
"Request In Queue 1" -> "Request Out Queue"
|
||
|
"Request In Queue 2" -> "Request Out Queue"
|
||
|
"Request In Queue 3..." -> "Request Out Queue"
|
||
|
"Request Out Queue" -> "User Callback Functions"
|
||
|
"User Callback Functions" -> "Your Program"
|
||
|
}
|
||
|
\enddot
|