ccnSim-CCN_D(即 Data包)处理机制

本文详细介绍了ccn_node.ccn中handleMessage函数对CCN_D类型消息的处理过程,核心在于ccn_node::manage_data函数。主要内容包括:更新data_msg的D值和跳数,处理Data消息,获取文件名和chunk信息,从PIT中查找并删除对应条目,检查缓存CS,如果是节点自我请求则判断文件接收完成并继续发送Interest包,否则通过指定接口转发Data包给邻居节点。
摘要由CSDN通过智能技术生成

		case CCN_D:
			ev << "ccn_node::handleMessage()中消息in是CCN_D(data)类型的消息,开始处理..."<< endl;
			cout << "ccn_node::handleMessage()中消息in是CCN_D(data)类型的消息,开始处理..."<< endl;
			_data++;

			data_msg = (ccn_data* ) in;
			//One hop more from the last caching node (useful for distance policy)
			data_msg->setD(data_msg -> getD() + 1);
			//On hop more from the origin of the node (useful for stretching metrics)
			data_msg->setHops(data_msg -> getHops() + 1);

			manage_data(data_msg);//核心
			delete in;
			ev << "ccn_node::handleMessage()中消息in是CCN_D(data)类型的消息,处理结束..."<< endl;
			cout << "ccn_node::handleMessage()中消息in是CCN_D(data)类型的消息,处理结束..."<< endl;

		break;

上面这段是ccn_node.ccn中handleMessage(cMessage *in)中对CCN_D类型消息的处理,

首先:修改data_msg中D的值,加1;消息经过的跳数也加1;然后调用ccn_node::manage_data(

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值