-
Notifications
You must be signed in to change notification settings - Fork 840
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
Added maximum BW limit for retransmissions #2714
Merged
maxsharabayko
merged 11 commits into
Haivision:master
from
maxsharabayko:hotfix/rexmitbw-limit
Aug 16, 2023
Merged
Added maximum BW limit for retransmissions #2714
maxsharabayko
merged 11 commits into
Haivision:master
from
maxsharabayko:hotfix/rexmitbw-limit
Aug 16, 2023
Conversation
This file contains 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
maxsharabayko
added
Type: Enhancement
Indicates new feature requests
[core]
Area: Changes in SRT library core
labels
Apr 11, 2023
Testing Scenario
Max Resmit BW 1 Mbps (only 5% packet loss)srt-xtransmit generate "srt://:4200?maxrexmitbw=125000" --sendrate 20Mbps --enable-metrics --statsfile mxe-snd.csv --statsfreq 1s --loglevel note --duration 20s
srt-xtransmit receive "srt://127.0.0.1:4200" --enable-metrics --statsfile mxe-rcv.csv --statsfreq 1s SenderReceiverMax Resmit BW -1 (Unlimited)srt-xtransmit generate "srt://:4200?maxrexmitbw=-1" --sendrate 20Mbps --enable-metrics --statsfile mxe-snd.csv --statsfreq 1s --loglevel note --duration 20s
srt-xtransmit receive "srt://127.0.0.1:4200" --enable-metrics --statsfile mxe-rcv.csv --statsfreq 1s SenderReceiverMax Resmit BW 3 Mbps (up to 30% packet loss)srt-xtransmit generate "srt://:4200?maxrexmitbw=375000" --sendrate 20Mbps --enable-metrics --statsfile mxe-snd.csv --statsfreq 1s --loglevel note --duration 20s
srt-xtransmit receive "srt://127.0.0.1:4200" --enable-metrics --statsfile mxe-rcv.csv --statsfreq 1s SenderReceiver |
maxsharabayko
commented
Apr 17, 2023
maxsharabayko
force-pushed
the
hotfix/rexmitbw-limit
branch
from
April 17, 2023 15:27
648d876
to
0c88569
Compare
maxsharabayko
commented
Apr 17, 2023
Closed
maxsharabayko
force-pushed
the
hotfix/rexmitbw-limit
branch
from
August 15, 2023 13:06
b2e20b7
to
80d79b3
Compare
guilletrejo
added a commit
to swxtchio/srt
that referenced
this pull request
Aug 23, 2023
* [core] Fix crypto mode auto for listener sender (Haivision#2711). Co-authored-by: oviano <ovcollyer@mac.com> * [build] Upgraded CI: ubuntu to version 20.04 (Haivision#2682). * [docs] Added the link for registration in slack to the getting started table (Haivision#2721). * [core] Fixed FEC Emergency resize crash (Haivision#2717). Fixed minimum history condition. * [core] Fixed various compiler warnings on various platforms (Haivision#2679). * [core] Minor fix of variable shadowing. * [tests] Minor fix of variable shadowing. * [build] Add -Wshadow=local to CMake build flags. Supported since GCC 7.0. * [core] Correct remaining endianness issues Fixes the last two remaining test failures on big-endian. These operations were all already no-ops on little-endian, and unnecessarily byteswapped the IP addresses on big-endian. Closes: Haivision#2697 * [docs] Minor updates to AEAD docs plus changed v1.6.0 to 1.5.2 in some files * [build] Fix downversioning of _WIN32_WINNT (Haivision#2754). * [core] Fixed unhandled error in haicrypt (Haivision#2685). * [core] Use overlapped WSASendTo to avoid loss in UDP sending (Haivision#2632). * [core] Add volatile keyword to asm block in rdtsc (Haivision#2759). * [core] Fixed srctime from closing socket was mistakenly cleared * [core] Fixed group read-ready epoll events. * [core] Removed unused CUDTGroup::m_Positions. * [core] Perf improvement of group reading. * [core] Fixed RCV buffer initialization in Rendezvous. * [docs] Updating the explicit information for binding to IPv6 wildcard (Haivision#2765). * [tests] Added custom main with transparent parameters for tests (Haivision#2681). * [core] Fix memory leak when can't buffer a HS packet (Haivision#2757). * [core] Refactor CRcvQueue::storePkt(..) for better resource management (Haivision#2775). * [core] Fix hang up on not enough space in the RCV buffer (Haivision#2745). When there is space available in the receiving buffer after it is full, send an ack to allow the sender to resume transmission. Reschedule sending if ACK decreases the flight span after sending is congested. Co-authored-by: Maxim Sharabayko <maxlovic@gmail.com> * [core] fix tsbpd() may deadlock with processCtrlShutdown() * [core] Slightly optimize the RCV drop by message number (Haivision#2686). Some minor improvements of logs and comments. * [core] Rejection not undertaken in rendezvous after KMX failure (Haivision#2692). * [core] Fix: In rendezvous when processing resulted in ACCEPT it was still sending rejection * [core] Minor code clean up in CRateEstimator. * [core] Initialize ISN and PeerISN in CUDT. * [core] Drop unencrypted packets in GCM mode. * [apps] Fix the build for target without IP_ADD_SOURCE_MEMBERSHIP (Haivision#2779). * [core] Added maximum BW limit for retransmissions (Haivision#2714). * [API] SRT version raised to 1.5.3. * [apps] Fixed conditional IP_ADD_SOURCE_MEMBERSHIP in testmedia (Haivision#2780). * [core] Fixed SRT_ATTR_REQUIRES use. * [build] Added missing public header files in Windows binary installer (Haivision#2784). The header file access_control.h was added to the source tree at some point but was not added to the Windows installer. --------- Co-authored-by: Maxim Sharabayko <maxlovic@gmail.com> Co-authored-by: oviano <ovcollyer@mac.com> Co-authored-by: Sektor van Skijlen <ethouris@gmail.com> Co-authored-by: Maria Sharabayko <41019697+mbakholdina@users.noreply.github.com> Co-authored-by: Maxim Sharabayko <maxsharabayko@haivision.com> Co-authored-by: matoro <matoro@users.noreply.github.com> Co-authored-by: Maria Sharabayko <msharabayko@haivision.com> Co-authored-by: Steve Lhomme <robux4@ycbcr.xyz> Co-authored-by: Aaron Jencks <32805004+aaron-jencks@users.noreply.github.com> Co-authored-by: Guangqing Chen <hi@goushi.me> Co-authored-by: john <hondaxiao@tencent.com> Co-authored-by: yomnes0 <127947185+yomnes0@users.noreply.github.com> Co-authored-by: Mikołaj Małecki <mmalecki@haivision.com> Co-authored-by: Jose Santiago <jsantiago@haivision.com> Co-authored-by: Thierry Lelegard <lelegard@users.noreply.github.com>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
[API]
Area: Changes in SRT library API
[core]
Area: Changes in SRT library core
Type: Enhancement
Indicates new feature requests
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.
Added the
SRTO_MAXREXMITBW
socket option to set the maximum BW limit for retransmissions:-1
(default - unlimited;0
do not allow retransmissions;Addresses FR #2701.
TODO
SRTO_MAXREXMITBW
socket option has to be underifdef
if it goes to a patch version.sndPktRexmitBlocked
statistics?SRTO_MAXREXMITBW
to the docs.