WebRTC系列-网络传输之5选择最优connection切换

本文详细介绍了WebRTC中如何选择和切换最优connection。首先获取排序后的top_connection,接着分析排序算法ShouldSwitchSelectedConnection,该算法基于连接状态、提名和接收时间来决定是否切换。最后,讨论了切换函数SwitchSelectedConnection的执行过程,包括更新提名值、网络路由参数以及通知网络路由变化。整个流程旨在确保高效、稳定的网络传输。
摘要由CSDN通过智能技术生成


在上一篇 WebRTC系列-网络传输之4Connection排序
中分析webrtc中如何实现connections的排序,一般排序在第一位基本就是最优的,但是webrtc中为了处理一些特殊情况,实际的切换逻辑还是很复杂;这节就主要分析webrtc如何选择最优的网络,并切换到最优网络;
在webrtc触发切换逻辑的有很多中可能,如下图:
在这里插入图片描述
这篇文章主要接上篇的 SortConnectionsAndUpdateState排序后的切换逻辑分析;

1. 获取top_connection

在SortConnectionsAndUpdateState函数中调用 absl::c_stable_sort排序完connections_后,会将数组第一个元素作为top_connection获取出来,代码如下:

 Connection* top_connection =
      (connections_.
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

简简单单lym

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值