imep_rt.cc

来自「ns2.1b5版本中cbrp碼」· CC 代码 · 共 81 行

CC
81
字号
/*    imep_rt.cc   $Id   Routing Protocol (or more generally, ULP) Specific Functions   */#include <cmu/imep/imep.h>#include <cmu/tora/tora_packet.h>#include <packet.h>// ======================================================================// computes the length of a TORA header, copies the header to "dst"// and returns the length of the header in "length".intimepAgent::toraHeaderLength(struct hdr_tora *t){	switch(t->th_type) {	case TORATYPE_QRY:		return sizeof(struct hdr_tora_qry);		break;	case TORATYPE_UPD:		return sizeof(struct hdr_tora_upd);		break;	case TORATYPE_CLR:		return sizeof(struct hdr_tora_clr);		break;	default:		abort();	}}voidimepAgent::toraExtractHeader(Packet *p, char* dst){  struct hdr_tora *t = HDR_TORA(p);  int length = toraHeaderLength(t);  bcopy((char*) t, dst, length);  switch(t->th_type) {  case TORATYPE_QRY:    stats.qry_objs_created++;    break;  case TORATYPE_UPD:    stats.upd_objs_created++;    break;  case TORATYPE_CLR:    stats.clr_objs_created++;    break;  default:    abort();  }}voidimepAgent::toraCreateHeader(Packet *p, char *src, int length){  struct hdr_cmn *ch = HDR_CMN(p);  struct hdr_tora *t = HDR_TORA(p);  ch->size() = IP_HDR_LEN + length;  ch->ptype() = PT_TORA;  bcopy(src, (char*) t, length);  switch(t->th_type) {  case TORATYPE_QRY:    stats.qry_objs_recvd++;    break;  case TORATYPE_UPD:    stats.upd_objs_recvd++;    break;  case TORATYPE_CLR:    stats.clr_objs_recvd++;    break;  default:    abort();  }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?