Commit graph

3578 commits

Author SHA1 Message Date
Chaosvex
9bf5d4bcd4 Flip macro logic so fast dispatching is the implicit default 2026-08-14 23:11:07 +01:00
Chaosvex
3c6cf25ee0 Disallow creating Event objects and setting the type in favour of creating a concrete type for each event type
This removes the risk of creating an Event object with a type that the receiver expects to be a subclass. Downside is the additional boilerplate for otherwise empty subclasses and they should probably be namedspaced or prefixed but it's a step in the right direction.
2026-08-13 15:44:24 +01:00
Chaosvex
84cf1e78d0 Remove insert from SessionManager to simplify API since it's no longer needed 2026-08-13 15:21:02 +01:00
Chaosvex
d151e8352d fn -> callback 2026-08-13 15:12:45 +01:00
Chaosvex
e0adec6036 Return optional rather than iterator 2026-08-13 15:12:24 +01:00
Chaosvex
8a02539d17 Fix failing unit test 2026-08-10 00:30:01 +01:00
Chaosvex
dd733c5f4f Make ordering consistent 2026-08-10 00:11:40 +01:00
Chaosvex
bdfb9c6d0a Simplify logic 2026-08-10 00:11:32 +01:00
Chaosvex
b2c88e1566 Fix potential off-by-one with large keys (that we don't need) 2026-08-10 00:10:47 +01:00
Chaosvex
2860bc39e1 Fix namespace typo 2026-08-09 23:45:05 +01:00
Chaosvex
2ef9dedb58 Revert "unique_lock -> lock_guard"
This reverts commit 4a2ec00bcf.
2026-08-09 23:44:38 +01:00
Chaosvex
3a36a25eb7 Mark as const 2026-08-09 23:27:35 +01:00
Chaosvex
1f46f6690a Deduplicate logging logic 2026-08-09 23:26:57 +01:00
Chaosvex
9bd90dd0c4 Slightly better naming 2026-08-09 23:26:03 +01:00
Chaosvex
9bacc51f02 unique_lock -> lock_guard 2026-08-09 23:24:58 +01:00
Chaosvex
1816e93d1c return -> break to prevent log output from being skipped 2026-08-09 23:24:21 +01:00
Chaosvex
4a2ec00bcf unique_lock -> lock_guard 2026-08-09 23:23:15 +01:00
Chaosvex
91b7a14927 Add missing include 2026-08-09 23:22:15 +01:00
Chaosvex
c386db880c Simplify condition 2026-08-09 23:21:45 +01:00
Chaosvex
393278422f Remove type reptition 2026-08-09 23:17:33 +01:00
Chaosvex
89ee2cf8dc Message definition type fixes 2026-05-06 19:42:15 +01:00
Chaosvex
7ae18682e9 Message definition type fixes 2026-05-05 20:08:28 +01:00
Chaosvex
5add59d19e Polyfill tweak 2026-05-04 18:53:29 +01:00
Chaosvex
29235d98cf Type renames 2026-05-03 15:54:11 +01:00
Chaosvex
77672fd3b6 Formatting nit 2026-05-02 17:39:31 +01:00
Chaosvex
fae11d5ce6 Small condition fix 2026-05-01 18:49:30 +01:00
Chaosvex
2f51df7ed1 Remove unused type (replaced by DBC reference) 2026-04-30 17:05:16 +01:00
Chaosvex
a333a31fa7 Fix message name 2026-04-30 17:02:28 +01:00
Chaosvex
78b6b2d033 StaticAllocator -> InplaceAllocator 2026-04-30 15:06:14 +01:00
Chaosvex
dffb830df4
Message array size fields are now implicit and only used internally (#303) 2026-04-29 21:32:38 +01:00
Chaosvex
f84744d64e Tidy smsg_messagechat condition 2026-04-29 00:52:36 +01:00
Chaosvex
1ed9a98481 Message definition fixes 2026-04-29 00:48:37 +01:00
Chaosvex
11bd343827 Small naming fixes 2026-04-28 23:04:20 +01:00
Chaosvex
fa377ad502
Remove most handwritten packets & definition fixes (#302) 2026-04-28 22:55:33 +01:00
Chaosvex
3fbb2180aa
JSON message definition dump (#301) 2026-04-28 17:38:11 +01:00
Chaosvex
a5750d002d Update default configs 2026-04-28 16:21:58 +01:00
Chaosvex
036977778b Remove stale comments 2026-04-27 21:08:49 +01:00
Chaosvex
ce2907ef78 Fix realm queue tracking
There's still another problem: clients that enter the queue but disconnect just before being told they can enter the realm. As it stands, this leads to a free slot being effectively leaked.
2026-04-27 20:56:23 +01:00
Chaosvex
e976fa92a1 Implement option to hard cap sockets 2026-04-27 20:40:40 +01:00
Chaosvex
24302a7f7e Dequeue the entire session queue in one go
Helps relieve memory pressure under heavy load (although we're talking hundreds of thousands of connections cycling quickly)
2026-04-26 19:55:59 +01:00
Chaosvex
94e74ffeec Fix allocator use-after-free 2026-04-26 19:20:36 +01:00
Chaosvex
e148fa6118 Don't send smsg_standstate_update 2026-04-26 18:25:51 +01:00
Chaosvex
b3da83e5d5 Add version command 2026-04-26 17:22:40 +01:00
Chaosvex
2fa9ce7c9c Remove todo that is now done 2026-04-25 01:59:17 +01:00
Chaosvex
248155d1c7
gtest version bump (#299) 2026-04-24 22:00:19 +01:00
Chaosvex
9fa9e4a77a Implement TransportInfo in MovementInfo 2026-04-23 22:30:29 +01:00
Chaosvex
a4a44287fa Another batch of message definitions 2026-04-23 22:09:45 +01:00
Chaosvex
81cc19e217 Another batch of message definitions 2026-04-23 21:32:19 +01:00
Chaosvex
37d3bd8420 Generate *msg_battlefield_status messages 2026-04-23 19:46:40 +01:00
Chaosvex
7c4aae5bbb Replace smsg_auth_challenge 2026-04-23 19:12:14 +01:00