| 程序包 | 说明 |
|---|---|
| com.hjcenry.fec | |
| com.hjcenry.fec.fec | |
| com.hjcenry.fec.fecNative |
| 限定符和类型 | 方法和说明 |
|---|---|
List<io.netty.buffer.ByteBuf> |
IFecDecode.decode(FecPacket pkt) |
| 限定符和类型 | 字段和说明 |
|---|---|
private static io.netty.util.Recycler<FecPacket> |
FecPacket.FEC_PACKET_RECYCLER |
private io.netty.util.Recycler.Handle<FecPacket> |
FecPacket.recyclerHandle |
private MyArrayList<FecPacket> |
FecDecode.rx |
| 限定符和类型 | 方法和说明 |
|---|---|
static FecPacket |
FecPacket.newFecPacket(io.netty.buffer.ByteBuf byteBuf) |
| 限定符和类型 | 方法和说明 |
|---|---|
List<io.netty.buffer.ByteBuf> |
FecDecode.decode(FecPacket pkt)
1,已经收到的丢弃掉
2,找到应该插入rx的位置并插入
3,从rx中找到当前包已收到的属于当前包组的消息集合
4,检验数据包是否已经全部收到了 ,则清理rx收到的包
5,如果收到的一组包数量大于等于数据包数量(dataShards),进行消息补全,再进行数据恢复
6, 恢复后清空rx收到的包
注意: pkt在传入后不要做释放操作 pkt的data不要做释放操作
返回的对象是被丢掉的数据 需要手动 release
|
| 限定符和类型 | 方法和说明 |
|---|---|
private static void |
FecDecode.freeRange(int first,
int n,
MyArrayList<FecPacket> q)
1,回收first后n个bytebuf
2,将q的first到first+n之间的数据移除掉
3,将尾部的n个数据的data清空
4,返回开头到尾部n个数组的对象
|
| 构造器和说明 |
|---|
FecPacket(io.netty.util.Recycler.Handle<FecPacket> recyclerHandle) |
| 限定符和类型 | 字段和说明 |
|---|---|
private MyArrayList<FecPacket> |
FecDecode.rx |
| 限定符和类型 | 方法和说明 |
|---|---|
List<io.netty.buffer.ByteBuf> |
FecDecode.decode(FecPacket pkt)
1,已经收到的丢弃掉
2,找到应该插入rx的位置并插入
3,从rx中找到当前包已收到的属于当前包组的消息集合
4,检验数据包是否已经全部收到了 ,则清理rx收到的包
5,如果收到的一组包数量大于等于数据包数量(dataShards),进行消息补全,再进行数据恢复
6, 恢复后清空rx收到的包
注意: pkt在传入后不要做释放操作 pkt的data不要做释放操作
返回的对象是被丢掉的数据 需要手动 release
|
| 限定符和类型 | 方法和说明 |
|---|---|
private static void |
FecDecode.freeRange(int first,
int n,
MyArrayList<FecPacket> q)
1,回收first后n个bytebuf
2,将q的first到first+n之间的数据移除掉
3,将尾部的n个数据的data清空
4,返回开头到尾部n个数组的对象
|
Copyright © 2022. All rights reserved.