perf(session): optimize offline message handling with VecDeque#260
Merged
bittcrafter merged 1 commit intormqtt:masterfrom Aug 22, 2025
Merged
perf(session): optimize offline message handling with VecDeque#260bittcrafter merged 1 commit intormqtt:masterfrom
bittcrafter merged 1 commit intormqtt:masterfrom
Conversation
Performance Improvements: - Changed offline_messages from Vec to VecDeque for efficient FIFO operations - Replaced pop() with pop_front() for proper queue behavior in message processing - Used push_back() instead of push() for correct message ordering in storage Structural Changes: - Added explicit VecDeque import for clarity - Updated OfflineInfo struct to use VecDeque for offline_messages - Maintained all existing functionality with improved performance Key Benefits: 1. **Efficiency**: VecDeque provides O(1) amortized time for both ends 2. **Correctness**: Ensures proper first-in-first-out delivery of offline messages 3. **Memory**: Better memory utilization for queue operations 4. **Ordering**: Maintains message sequence during offline storage and retrieval The changes ensure that offline messages are processed in the correct order while improving performance for queue operations, maintaining full backward compatibility.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Performance Improvements:
Structural Changes:
Key Benefits:
The changes ensure that offline messages are processed in the correct order while improving performance for queue operations, maintaining full backward compatibility.