修复 FEC 变长批次解码必失败且连带丢包
- 编码端把所有数据 shard 填充到 max_len 再做 RS 编码,解码端此前按 实际长度存放数据 shard,批次内包长不一致时 reconstruct 必报 IncorrectShardSize。现在记录 shard_size(校验包长度), 无论校验包先到还是后到都把数据 shard 补齐到统一长度 - 解码失败不再向上传播错误:坏 group 直接移除, 当前完好包与后续数据包正常透传 - 补充变长批次恢复、校验包先到恢复、解码失败不吞好包三个测试
This commit is contained in:
@@ -15,7 +15,7 @@ mod fec_proto {
|
||||
include!(concat!(env!("OUT_DIR"), "/protocol.fec.rs"));
|
||||
}
|
||||
use crate::utils::task_control::TaskGroup;
|
||||
pub use fec_proto::FecPacket;
|
||||
pub use fec_proto::{FecPacket, ParityData};
|
||||
|
||||
const BATCH_SIZE: usize = 10;
|
||||
const REDUNDANCY_RATE: f32 = 0.2;
|
||||
|
||||
Reference in New Issue
Block a user