diff options
| author | 2026-03-11 21:54:40 +0000 | |
|---|---|---|
| committer | 2026-03-12 00:18:06 +0000 | |
| commit | fcb3090055429a108b9837dbd4ba505d9c291129 (patch) | |
| tree | 5c55fd77d3b24adeda54e250d91b2a44badc9c5d /modules/spanningtree/pingtimer.cpp | |
| parent | Mark all acting extbans as MATCH_REQUIRE_CHANNEL. (diff) | |
Rework sending server protocol messages.
- Replace CmdBuilder with MessageBuilder. This has a less footgun
API. All message building has to go through this now so we can
implement other message formats in the future.
- Replace the message parsing in WriteLine with an analogue to
PreProcessOldProtocolMessage. This should be much faster.
- Move parameter translation from the core to spanningtree.
- Change EncodeParameter to return the value instead of updating
in place.
- Replace the OnBuild*Message events with one OnServerMessage that
can now access all parts of the message and change them.
Diffstat (limited to 'modules/spanningtree/pingtimer.cpp')
| -rw-r--r-- | modules/spanningtree/pingtimer.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/modules/spanningtree/pingtimer.cpp b/modules/spanningtree/pingtimer.cpp index cc6adb5d4..444abcfaa 100644 --- a/modules/spanningtree/pingtimer.cpp +++ b/modules/spanningtree/pingtimer.cpp @@ -23,7 +23,7 @@ #include "pingtimer.h" #include "treeserver.h" -#include "commandbuilder.h" +#include "msgbuilder.h" PingTimer::PingTimer(TreeServer* ts) : Timer(Utils->PingFreq, false) @@ -38,7 +38,9 @@ PingTimer::State PingTimer::TickInternal() if (state == PS_SENDPING) { // Last ping was answered, send next ping - server->GetSocket()->WriteLine(CmdBuilder("PING").push(server->GetId())); + MessageBuilder("PING") + .Push(server->GetId()) + .Unicast(server); LastPingMsec = ServerInstance->Time() * 1000 + (ServerInstance->Time_ns() / 1000000); // Warn next unless warnings are disabled. If they are, jump straight to timeout. if (Utils->PingWarnTime) |
