【razor】pacing平滑发送及发送调度机制分析

  • razor 对pacing进行了简单实现
  • 虽然简单但是符合pacing的设计原理
  • 并非简单的50毫秒发送一波这么无脑
  • 借助这个代码,对pacing(平滑发送)机制的核心原理和工程实现,
  • 一窥究竟:

关键词

  • 排队时延
  • 核心反馈环节:根据队列积压动态计算目标码率。

问题

具体来讲,如何实现平滑发送的,发送间隔时间控制?排队时延控制?如何避免突发,如果发送的带宽允许,可否直接清空对接直接发送?与网络突发是否矛盾?


一、razor的pacing机制:pacer_queue.c 分析

pacer_queue.c 通过实现一个分包队列(pacer_queue_t)来支持 pacing(节奏/速率控制)发送。其核心思想是:将待发送的包按顺序缓存,按 pacing 策略有节奏地取出和标记为已发送,保证发送速率平滑且可控。下面分点说明其机制:<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

等风来不如迎风去

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

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

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

打赏作者

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

抵扣说明:

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

余额充值