-
Notifications
You must be signed in to change notification settings - Fork 0
Implement Dynamic Rate Synchronization Between Publisher and Subscriber #2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Co-authored-by: Vaidurya-s <[email protected]>
Co-authored-by: Vaidurya-s <[email protected]>
…on and testing Co-authored-by: Vaidurya-s <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please find a solution for failing job 46808038316. Use the logs, job definition, and any referenced files where the failure occurred. Keep your response focused on the solution and include code suggestions when appropriate.
Co-authored-by: Vaidurya-s <[email protected]>
Co-authored-by: Vaidurya-s <[email protected]>
I've identified and fixed the issue causing the failing job 46808038316. The problem was missing hash function support for Root cause: With newer C++13 compilers, the boost UUID library requires explicit inclusion of Fix applied: Added Verification:
The build should now pass successfully in GitHub Actions. Warning Firewall rules blocked me from connecting to one or more addressesI tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
dont merge this into main, create a new branch "CSVIntegration"
Created the new branch "CSVIntegration" as requested. The dynamic rate synchronization features have been moved to this branch instead of the main branch. All core functionality including subscriber feedback mechanism, publisher rate adjustment, and documentation is now available on the CSVIntegration branch in commit 01e2b93. Warning Firewall rules blocked me from connecting to one or more addressesI tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|
This PR implements a comprehensive dynamic rate synchronization mechanism between the STTP C++ publisher and subscriber applications, enabling automatic adjustment of publishing rates based on real-time subscriber feedback.
Overview
The implementation adds intelligent load balancing where subscribers continuously monitor their processing capacity and send feedback to the publisher, which then dynamically adjusts its publishing interval to optimize performance across all connected clients.
Key Features
Subscriber-Side Enhancements (
AdvancedSubscribe.cpp)UserCommand01with current processing metricsREADY: Queue size < 150 measurements (can handle faster rate)NORMAL: Queue size 150-600 measurements (current rate optimal)SLOW: Queue size > 600 measurements (needs slower rate)Publisher-Side Enhancements (
AdvancedPublish.cpp)Timerinterval based on majority subscriber recommendations:Technical Implementation
Extensible Feedback Protocol
Uses a structured message format for future expandability:
Robust Architecture
UserCommandinfrastructureUsage Example
Publisher Output:
Subscriber Output:
Testing & Validation
Includes comprehensive test suite validating:
Documentation
Complete documentation provided in
RATE_SYNC_README.mdincluding:Compatibility
This enhancement significantly improves STTP performance in dynamic environments by automatically adapting to varying subscriber processing capabilities, preventing both data overflow and underutilization scenarios.
Warning
Firewall rules blocked me from connecting to one or more addresses
I tried to connect to the following addresses, but was blocked by firewall rules:
esm.ubuntu.com/usr/lib/apt/methods/https(dns block)If you need me to access, download, or install something from one of these locations, you can either:
This pull request was created as a result of the following prompt from Copilot chat.
💬 Share your feedback on Copilot coding agent for the chance to win a $200 gift card! Click here to start the survey.