Skip to content

[MessageControl] Make sure no messages are missed via the UDP output#362

Merged
pwielders merged 7 commits intomasterfrom
development/message-control-udp-output
Sep 20, 2025
Merged

[MessageControl] Make sure no messages are missed via the UDP output#362
pwielders merged 7 commits intomasterfrom
development/message-control-udp-output

Conversation

@VeithMetro
Copy link
Copy Markdown
Contributor

@VeithMetro VeithMetro commented Aug 5, 2025

@pwielders if we decide to move with my solution, what value for ProxyPoolTypeSize you think would be best?

I suppose we don't want the initial ProxyTypePool size to be too big, but on the other hand, the messages are mostly missed at the start when there are a lot of them...

Copilot AI review requested due to automatic review settings August 5, 2025 12:12

This comment was marked as outdated.

@VeithMetro VeithMetro requested a review from pwielders August 5, 2025 12:15
Comment thread MessageControl/MessageOutput.cpp Outdated
@VeithMetro VeithMetro requested review from Copilot and pwielders August 6, 2025 10:35

This comment was marked as outdated.

@VeithMetro VeithMetro requested a review from Copilot August 21, 2025 13:59

This comment was marked as outdated.

@VeithMetro VeithMetro requested a review from Copilot August 22, 2025 08:39
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR refactors the UDP message output mechanism to prevent message loss by replacing a fixed-size buffer approach with a queue-based system. The changes eliminate buffer overflow scenarios where messages could be dropped when the UDP buffer was full.

  • Replaced fixed-size UDP buffer with a dynamic queue to handle message bursts
  • Modified Channel::Output to use move semantics for better performance
  • Optimized string formatting to reduce memory allocations

Reviewed Changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.

File Description
MessageControl/MessageOutput.h Replaced fixed buffer with std::queue and updated Output method signature to use move semantics
MessageControl/MessageOutput.cpp Implemented queue-based message handling and optimized string formatting operations

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

Comment thread MessageControl/MessageOutput.cpp
Comment thread MessageControl/MessageOutput.cpp
Comment thread MessageControl/MessageOutput.cpp
@VeithMetro
Copy link
Copy Markdown
Contributor Author

@pwielders take a look at the changes I made in Text::Convert(), I think it also saves us some unnecessary allocations due to both Core::Format and string's operator+

@pwielders
Copy link
Copy Markdown
Contributor

@VeithMetro the Convert looksgood, I could not make it more performant! (y)

@pwielders pwielders merged commit 97d2865 into master Sep 20, 2025
40 checks passed
@pwielders pwielders deleted the development/message-control-udp-output branch September 20, 2025 14:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

3 participants