-
Notifications
You must be signed in to change notification settings - Fork 97
Session configuration tweaks #6723
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
Conversation
NumberFour8
commented
Dec 6, 2024
- decrease frame expiration age when not using retransmission
- decrease frame expiration age when not using retransmission
📝 WalkthroughWalkthroughThe pull request modifies the constructor of the Changes
Possibly related PRs
Suggested labels
Suggested reviewers
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
Documentation and Community
|
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.
Actionable comments posted: 0
🧹 Outside diff range and nitpick comments (1)
transport/session/src/types.rs (1)
180-183
: Consider documenting the rationale for configuration values.While the frame expiration age calculation is now more adaptive, there's a TODO comment suggesting that these configuration values might need further tweaking. Consider:
- Documenting the rationale for the current multipliers (1x, 2x, 4x).
- Adding comments explaining the relationship between sender and receiver RTO bases.
Would you like me to help document these configuration values or create an issue to track the TODO?
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
📒 Files selected for processing (1)
transport/session/src/types.rs
(1 hunks)
🔇 Additional comments (1)
transport/session/src/types.rs (1)
168-174
: LGTM! Conditional expiration coefficient aligns with retransmission needs.
The logic correctly reduces the frame expiration age when retransmission is not used, while maintaining a longer expiration time when retransmission is enabled. This change aligns well with the PR objective.
Let's verify that this change doesn't affect any existing tests:
✅ Verification successful
Frame expiration coefficient change is safe to proceed
The verification process shows that:
- The frame expiration change is localized to the Session configuration in
transport/session/src/types.rs
- While there are tests in the codebase, none of them explicitly verify frame expiration timing
- The vendor tests that mention "expiration" are unrelated to this session implementation
- The change is a straightforward configuration adjustment that doesn't modify the core session behavior
The modification is safe as it maintains the existing behavior pattern (longer expiration for retransmission, shorter without) while only adjusting the coefficient values.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Search for tests that might be affected by the frame expiration age change
rg -l "frame_expiration_age|expiration" --type rust --glob "*test*.rs"
Length of output: 156
Script:
#!/bin/bash
# Let's check the actual test files in the transport/session directory
rg -l "test" transport/session/src/
Length of output: 167
Script:
#!/bin/bash
# Let's also check for any usage of Session::new or frame expiration in tests
rg "Session::new|frame_expiration" transport/session/src/ -A 3
Length of output: 2795
Script:
#!/bin/bash
# Search for test modules in the types.rs file itself
rg "^mod test" transport/session/src/types.rs -A 10
Length of output: 445
Script:
#!/bin/bash
# Let's check the test module in types.rs for any tests related to session creation or frame expiration
rg "test.*Session|test.*frame|test.*expiration" transport/session/src/types.rs -B 1 -A 10
Length of output: 91
Script:
#!/bin/bash
# Let's also check for any assertions or verifications related to frame expiration or session configuration
rg "assert.*frame_expiration|assert.*Session::new" transport/session/src/types.rs
Length of output: 83