📄 myudpsink3.cc
字号:
#include <stdio.h>#include <stdlib.h>#include "myudpsink3.h"#include "ip.h"#include "udp.h"#include "rtp.h"static class myUdpSink3Class : public TclClass {public: myUdpSink3Class() : TclClass("Agent/myUdpSink3") {} TclObject* create(int, const char*const*) { return (new myUdpSink3); }} class_myudpsink3;void myUdpSink3::recv(Packet* pkt, Handler*){ //hdr_ip* iph=hdr_ip::access(pkt); hdr_cmn* hdr=hdr_cmn::access(pkt); //hdr_rtp* rtp = hdr_rtp::access(pkt); pkt_received+=1; //wireless: fprintf(tFile,"%-16f id %-16d udp %-16d\n", Scheduler::instance().clock(), hdr->frame_pkt_id_, hdr->size()-48); fprintf(tFile,"%-16f id %-16d udp %-16d\n", Scheduler::instance().clock(), hdr->frame_pkt_id_, (hdr->size()-28)); if (app_) app_->recv(hdr_cmn::access(pkt)->size()); Packet::free(pkt);}int myUdpSink3::command(int argc, const char*const* argv){ Tcl& tcl = Tcl::instance(); if (strcmp(argv[1], "set_trace_filename") == 0) { strcpy(tbuf, argv[2]); tFile = fopen(tbuf, "w"); return (TCL_OK); } if (strcmp(argv[1], "closefile") == 0) { fclose(tFile); return (TCL_OK); } if(strcmp(argv[1],"printstatus")==0) { print_status(); return (TCL_OK); } return (Agent::command(argc, argv));}void myUdpSink3::print_status(){ printf("MyUdpSink3)Total packets received:%ld\n", pkt_received);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -