修改目的/效果
网络中每一个兴趣包到达producer后,producer连续返回多个数据包,且数量可根据手动设定。
修改思路
总体上来说共分三步。
1、对interest的修改,使它包含请求多少个数据包的信息并能正确编解码。
2、修改中间节点的pit表与转发策略等,如在转发一个数据包后不删除对应的pit条目等。
3、修改customer和producer的application。
除此之外还有具体的example实例中的一些修改等,和网络中转发算法无关。
需要修改的文件
1、tlv.hpp
interest.hpp
interest.cpp
2、pit-entry.hpp
pit-entry.cpp
forwarder.cpp
3、ndn-consumer.hpp
ndn-consumer.cpp
代码
tlv.hpp
将第11位设置成了expect
interest.hpp
增加了私有成员m_expect,表示期待请求多少个兴趣包。
增加了三个公有函数,hasExpect(),getExpect(),setExpect()
interest.cpp
实现了hpp文件中加入的函数
编码wireEncode(),解码decode02() 中加入了expect,注意编解码顺序是相反的
wireDecode()中加入了对expect的检查
pit-entry.hpp
增加了私有成员m_CountForExpect
增加了公有函数operateCountForExpect(),用于计数
pit-entry.cpp
构造函数中初始化m_CountForExpect
实现了hpp文件中加入的函数
forwarder.cpp
onIncomingData()中,加入了判断数据包是否全部传到,全到了才视作pit entry satisfied
ndn-consumer.hpp
增加了私有成员m_interestExpect
ndn-consumer.cpp
OnData()中增加了一处输出信息