#include <tskagent.h>
|
| TskComAgent () |
|
| TskComAgent (packet_t) |
|
virtual void | sendmsg (int nbytes, void *pTaskObj, const char *flags=0) |
|
virtual void | sendmsg (int nbytes, AppData *data, void *pTaskObj, const char *flags=0) |
|
virtual void | recv (Packet *pkt, Handler *) |
|
virtual int | command (int argc, const char *const *argv) |
|
Definition at line 17 of file tskagent.h.
TskComAgent::TskComAgent |
( |
| ) |
|
Definition at line 29 of file tskagent.cc.
29 : Agent(PT_UDP),
seqno_(-1)
31 bind(
"packetSize_", &size_);
TskComAgent::TskComAgent |
( |
packet_t |
type | ) |
|
Definition at line 34 of file tskagent.cc.
36 bind(
"packetSize_", &size_);
int TskComAgent::command |
( |
int |
argc, |
|
|
const char *const * |
argv |
|
) |
| |
|
virtual |
Definition at line 126 of file tskagent.cc.
145 return (Agent::command(argc, argv));
void TskComAgent::recv |
( |
Packet * |
pkt, |
|
|
Handler * |
|
|
) |
| |
|
virtual |
Definition at line 100 of file tskagent.cc.
104 hdr_cmn* h = hdr_cmn::access(pkt);
105 app_->process_data(h->size(), pkt->userdata());
106 }
else if (pkt->userdata() && pkt->userdata()->type() == PACKET_DATA) {
114 PacketData* data = (PacketData*)pkt->userdata();
116 hdr_ip* iph = hdr_ip::access(pkt);
117 Tcl& tcl = Tcl::instance();
118 tcl.evalf(
"%s process_data %d {%s}", name(),
119 iph->src_.addr_ >> Address::instance().NodeShift_[1],
virtual void TskComAgent::sendmsg |
( |
int |
nbytes, |
|
|
void * |
pTaskObj, |
|
|
const char * |
flags = 0 |
|
) |
| |
|
inlinevirtual |
Definition at line 21 of file tskagent.h.
23 sendmsg(nbytes, NULL, pTaskObj, flags);
virtual void sendmsg(int nbytes, void *pTaskObj, const char *flags=0)
void TskComAgent::sendmsg |
( |
int |
nbytes, |
|
|
AppData * |
data, |
|
|
void * |
pTaskObj, |
|
|
const char * |
flags = 0 |
|
) |
| |
|
virtual |
Definition at line 39 of file tskagent.cc.
50 printf(
"Error: sendmsg() for Tsk should not be -1\n");
55 if (data && nbytes > size_) {
56 printf(
"Error: data greater than maximum Tsk packet size\n");
60 double local_time = Scheduler::instance().clock();
63 hdr_cmn::access(p)->size() = size_;
64 hdr_cmn::access(p)->pt_obj_addr() = 0;
65 if (initialseqno ==
seqno_){
67 hdr_cmn::access(p)->pt_obj_addr() = pTaskObj;
69 hdr_rtp* rh = hdr_rtp::access(p);
72 hdr_cmn::access(p)->timestamp() =
74 if (flags && (0 ==strcmp(flags,
"NEW_BURST")))
82 hdr_cmn::access(p)->size() = n;
83 hdr_cmn::access(p)->pt_obj_addr() = 0;
84 if (initialseqno ==
seqno_){
86 hdr_cmn::access(p)->pt_obj_addr() = pTaskObj;
88 hdr_rtp* rh = hdr_rtp::access(p);
91 hdr_cmn::access(p)->timestamp() =
93 if (flags && (0 == strcmp(flags,
"NEW_BURST")))
The documentation for this class was generated from the following files: