1
0
mirror of https://github.com/VCMP-SqMod/SqMod.git synced 2025-01-19 12:07:13 +01:00
Sandu Liviu Catalin cbd8f8b028 Add D++ library.
2023-03-23 20:20:44 +02:00

2.0 KiB

\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