Listener Callback: Group Extension (API)
Existing listener callback does not provide fields to pass group-related data.
Another function is needed.
Rejection Reason Enahancements (API)
Make it possible for an application to set a specific reason for rejecting a connection from a listener callback.
Group Statistics
Reusing srt_bistats function for SRT socket group.
Group Status
Uncategorized
Balancing
Completed work
- The CUDTGroup class
- Associated symbols the class depends on
- Support functions in
CUDT class for creation/deletion and hookup
- (transmission functions temporarily deleted)
- Handling group ID in existing API functions
- Extra API functions dedicated for groups
- Passing and recognizing the group in the handshake
- Support functions in other classes to handle group synchronization
- Doing specific actions as required for the group in existing internals
- The receiving function, universal for broadcast and backup type
- The sending function for broadcast type only.
- Handling the special syntax for groupwise connections
- Handling the groups internally in the application
Listener Callback: Group Extension (API)
Existing listener callback does not provide fields to pass group-related data.
Another function is needed.
Rejection Reason Enahancements (API)
Make it possible for an application to set a specific reason for rejecting a connection from a listener callback.
PR Added timeout reason. Updated correctly reject reason on timeout #1194 - added rejection reason: timeout. Documentation changes are requested.
PR Customizable reject reason code #1291 - Enhanced and customizable reject reason - Requires an update to latest master
PR Added access control public header file. #1300 Add definitions of predefined HTTP status codes used as rejection reason codes. (Tasks: @maxsharabayko to review)
Group Statistics
Reusing
srt_bistatsfunction for SRT socket group.srt_bistatsfunction for groups: Added group support for stats probing. PR Added group support for stats probing #1303.srt_bistatsfunction for groups: reuse pktSentTotal, pktSndLossTotal etc. as a sum of corresponding values of the individual socket in a group.Decide on
pktRcvDiscardTotalfor groupsGroup Status
PR srt_group_data(..) returns group size even without output array #1222 -
srt_group_data(..)API function to return group size [ralated to the bonding API.PR Reworked the structures for config and status for groups #1326 - Add link state field to SRT_GROUP_DATA, and retrieve the value via
srt_group_data(..). Possible link states: active/unstable/Idle/broken.TODO
Uncategorized
Issue Change the Group Membership extension of the handshake packet #1245 Group Membership Handshake extension - PR Implemented new Group handshake extension format #1285
Set latency per socket in a group (and probably some other options like MTU size).
PR Added unique send/receive stats #1283 [core] Added unique send/receive stats - merged
PR [docs] Introduced pktSentUnique, pktRecvUnique socket statistics #1263 [docs] Added unique send/receive stats - (discussing undecrypted packets)
PR Added balancing group implementation. #1257 Balancing group implementation - extract only API-related changes (?) (extraction already done, PR describes extra changes for balancing groups)
SRT Handshake extension for socket groups - add docs.
PR Added configuration object to group connection structure #1314 - Added a possibility to install a per-connection socket options, mainly required for supporting
SRTO_BINDTODEVICEoptionBalancing
12. Load balancing implementation
13. Load balancing documentation
Completed work
CUDTclass for creation/deletion and hookup2.1. SRT API docs PR Updated documentation for SRT bonding #1123
2.3. Added short doc about bonding PR Added short doc about bonding #1117
3. HANDSHAKE AND MANAGEMENT PR Handshake and internal processing for socket groups #1119
4.1. Changed Socket Group API PR Changed group API: source per site can be specified #1137
5. APPLICATIONS PR Application support for socket groups (testing app only) #1139
6. Added test examples for bonding PR Added test examples for bonding #1143.
7. Redesigned SRTO_GROUPCONNECT option PR Redesigned SRTO_GROUPCONNECT option. #1150
8. Added accept_bond function for blocking-mode multi-listener accept-waiting PR Added accept_bond function for blocking-mode multi-listener accept-waiting #1153
9. Refactoring before Backup groups (PR BACKUP GROUPS: refactoring changes #1167)
10. Main backup implementation BACKUP GROUPS: Implementation #1178
11. Main backup documentation BACKUP GROUPS: Implementation #1168