8000 Added balancing groups and common group receiver by ethouris · Pull Request #2885 · Haivision/srt · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Added balancing groups and common group receiver #2885

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

Draft
wants to merge 326 commits into
base: master
Choose a base branch
from

Conversation

ethouris
Copy link
Collaborator
@ethouris ethouris commented Feb 21, 2024

Draft until problems solved.

Problems:

  1. The lack of receiver buffer need not be correct during the handshake. It has been found several cases where the buffer is tried to be reached out, while it is not yet created. The execution here is not stable as it comes to thread switching. Likely there is a problem with dispatching packets to a socket that is not yet fully connected.

Mikołaj Małecki and others added 30 commits December 7, 2022 13:44
…schedule of a broken socket. Fixed excessive sndbuf removal on rogue or excessive ACK
ethouris and others added 30 commits March 19, 2025 11:17
Haivision#2900)

* [core] Restored logger perf improvements that were blocked up to 1.6.0

---------

Co-authored-by: Mikołaj Małecki <mmalecki@haivision.com>
…aivision#2444)

* Added a UT that confirms the bug. Added an option setter utility.

* Fixed clang errors. Added compiler flags to configure to prevent changes by google test

* Added checking of accept candidates. In-group check disabled and left dead code (this solution deadlocks)

* Added tests for more cases and fixed remaining failures. STILL mutex not enabled.

* Fixed the problem with locking

* Fixed a problem: invalid per-listener report of member connections. Any pending connection can accept a group. Removed other pending sockets after accepting a group. Fixed tests to handle options also with RAII srt initializer

* Updated documentation

* Added group contents check and configurable sleep for group/listener tests

* Added setting UPDATE event on group on new connection. Fixed test with accept timeout

* Removed listener field in the group (useless). Improved the test to prove injected connection while reading from group is working

---------

Co-authored-by: Mikołaj Małecki <mmalecki@haivision.com>
Co-authored-by: Sektor van Skijlen <ethouris@gmail.com>
…aivision#3009)

* [core] Average values for sent/recv bitrate are now over last second.

* [core] Adding packet header size in average measure

* [core] Removing inheritance and fixing issue in rate compute
…ck of listener (Haivision#1690)

* [core] Fixed a bug that responded a repeated conclusion HS with rejection

* Fixed proper crafting of the repeated handshake response

* Added crafting KMX response to call handshake

* Fixed HS ext for HSv5. Blocked testing stuff

* Fixed: rewritten negotiated values into the handshake and properly sent

* Fixed: do not try accepted socket if wrong address

* Changed blocked test code to conditionally-enabled

---------

Co-authored-by: Mikołaj Małecki <mmalecki@haivision.com>
…ll (misleading log flood) (Haivision#3090)

Co-authored-by: Mikolaj Malecki <mmalecki@haivision.com>
…aivision#3103)

Co-authored-by: Mikolaj Malecki <mmalecki@haivision.com>
…tes (Haivision#3132)

Co-authored-by: Mikolaj Malecki <mmalecki@haivision.com>
* [BUG] Fixed default reject reason for a listener callback

* Added extended reject reason string API

* Fixed testing app to set unauthorized rejection code for a better example

* Removed deprecated remapping array

---------

Co-authored-by: Mikołaj Małecki <mmalecki@haivision.com>
* Fixing implicit integer and wrong use of SRT_ERROR and SRT_INVALID_SOCKET

* Fixed wrong assertion for drop snd buf sequence check

* [MAINT] Refax for CSndBuffer::readData to make the call form clearer

* Introduced SRTRUNSTATUS to cover all cases of srt_startup(). Fixed documentation.

* Removed srt::isgroup. Reused CUDT::isgroup where applicable. Added missing license heading.

* Removed unreachable code

---------

Co-authored-by: Mikołaj Małecki <mmalecki@haivision.com>
Co-authored-by: Mikolaj Malecki <mmalecki@haivision.com>
)

* Added gap management to receiver buffer (marks the end of ICR and first-to-drop)

* Reworked the waking points for TSBPD thread to only changeable actions

---------

Co-authored-by: Mikołaj Małecki <mmalecki@haivision.com>
Co-authored-by: Maxim Sharabayko <maxlovic@gmail.com>
* Updated group-related documentation, including some part of balancing

---------

Co-authored-by: Mikołaj Małecki <mmalecki@haivision.com>
Co-authored-by: stevomatthews <smatthews@haivision.com>
…ion#2747)

* [core][apps][doc] Implemented the socket close reason feautre

---------

Co-authored-by: Mikołaj Małecki <mmalecki@haivision.com>
…nge (Haivision#2639)

* [REFAX] Refactored function calls at close socket for preparing a change
---------
Co-authored-by: Mikołaj Małecki <mmalecki@haivision.com>
Co-authored-by: Maxim Sharabayko <maxlovic@gmail.com>
…on#3156)

* [DEV/CI] Updated ABI checker to use correct version ABI checks.
---------
Co-authored-by: Mikolaj Malecki <mmalecki@haivision.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[core] Area: Changes in SRT library core Type: Enhancement Indicates new feature requests
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants
0