Main Page | Namespace List | Class Hierarchy | Alphabetical List | Compound List | File List | Compound Members | File Members

MrouteErrorModel Class Reference

#include <errmodel.h>

Inheritance diagram for MrouteErrorModel:

Inheritance graph
[legend]
Collaboration diagram for MrouteErrorModel:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 MrouteErrorModel ()
virtual int match (Packet *p)
int maxtype ()
virtual int corrupt (Packet *p)
virtual void recv (Packet *, Handler *)
virtual void recv (Packet *p, const char *s)
virtual void reset ()
double rate ()
ErrorUnit unit ()
NsObjecttarget ()
virtual void drop (Packet *p)
virtual void recvOnly (Packet *)
virtual void delay_bind_init_all ()
virtual int delay_bind_dispatch (const char *varName, const char *localName, TclObject *tracer)
int isdebug () const
virtual void debug (const char *fmt,...)

Protected Member Functions

int command (int argc, const char *const *argv)
int CorruptPkt (Packet *)
int CorruptTime (Packet *)
int CorruptByte (Packet *)
int CorruptBit (Packet *)
double PktLength (Packet *)
double * ComputeBitErrProb (int)
virtual void drop (Packet *p, const char *s)
void send (Packet *p, Handler *h)
void handle (Event *)

Protected Attributes

char msg_type [15]
double loss_
double good_
int enable_
int markecn_
int delay_pkt_
int firstTime_
ErrorUnit unit_
double rate_
double delay_
double bandwidth_
RandomVariableranvar_
int FECstrength_
int datapktsize_
int cntrlpktsize_
double * cntrlprb_
double * dataprb_
Event intr_
NsObjecttarget_
NsObjectdrop_
int debug_

Constructor & Destructor Documentation

MrouteErrorModel::MrouteErrorModel  ) 
 

Definition at line 854 of file errmodel.cc.

00854                                    : TraceErrorModel()
00855 {
00856 }


Member Function Documentation

int MrouteErrorModel::command int  argc,
const char *const *  argv
[protected, virtual]
 

Reimplemented from ErrorModel.

Definition at line 858 of file errmodel.cc.

References ErrorModel::command(), maxtype(), and msg_type.

00859 {
00860         if (argc == 3) {
00861                 if (strcmp(argv[1], "drop-packet") == 0) {
00862                         const char* s = argv[2];
00863                         int n = strlen(s);
00864                         if (n >= this->maxtype()) {
00865                                 // tcl.result("message type too big");
00866                                 return (TCL_ERROR);
00867                         }
00868                         strcpy(msg_type,s);
00869                         return(TCL_OK);
00870                 }
00871         }
00872         return TraceErrorModel::command(argc, argv);
00873 }

Here is the call graph for this function:

double * ErrorModel::ComputeBitErrProb int   )  [protected, inherited]
 

Definition at line 231 of file errmodel.cc.

References comb(), ErrorModel::FECstrength_, pow(), and ErrorModel::rate_.

Referenced by ErrorModel::CorruptBit().

00232 {
00233         double *dptr;
00234         int i;
00235 
00236         dptr = (double *)calloc((FECstrength_ + 2), sizeof(double));
00237 
00238         for (i = 0; i < (FECstrength_ + 1) ; i++) 
00239                 dptr[i] = comb(size, i) * pow(rate_, (double)i) * pow(1.0 - rate_, (double)(size - i));
00240 
00241         // Cumulative probability
00242         for (i = 0; i < FECstrength_ ; i++) 
00243                 dptr[i + 1] += dptr[i];
00244 
00245         dptr[FECstrength_ + 1] = 1.0;
00246 
00247         /*      printf("Size = %d\n", size);
00248         for (i = 0; i <(FECstrength_ + 2); i++)
00249                 printf("Ptr[%d] = %g\n", i, dptr[i]); */
00250 
00251         return dptr;
00252 
00253 }

Here is the call graph for this function:

int TraceErrorModel::corrupt Packet p  )  [virtual, inherited]
 

Reimplemented from ErrorModel.

Definition at line 466 of file errmodel.cc.

References TraceErrorModel::good_, TraceErrorModel::loss_, and TraceErrorModel::match().

00467 {
00468         Tcl& tcl = Tcl::instance();
00469         if (! match(p))
00470                 return 0;
00471         if ((good_ <= 0) && (loss_ <= 0)) {
00472                 tcl.evalf("%s read",name());
00473                 if (good_ < 0)
00474                         good_ = 123456789;
00475         }
00476         if (good_-- > 0)
00477                 return 0;
00478         return (loss_-- > 0);
00479 }

Here is the call graph for this function:

int ErrorModel::CorruptBit Packet  )  [protected, inherited]
 

Definition at line 270 of file errmodel.cc.

References hdr_cmn::access(), ErrorModel::cntrlpktsize_, ErrorModel::cntrlprb_, ErrorModel::ComputeBitErrProb(), ErrorModel::datapktsize_, ErrorModel::dataprb_, ErrorModel::FECstrength_, ErrorModel::firstTime_, ErrorModel::ranvar_, hdr_cmn::size(), Random::uniform(), and RandomVariable::value().

Referenced by ErrorModel::corrupt().

00271 {
00272         double u, *dptr;
00273         int i;
00274 
00275         if (firstTime_ && FECstrength_) {
00276                 // precompute the probabilies for each bit-error cnts
00277                 cntrlprb_ = ComputeBitErrProb(cntrlpktsize_);
00278                 dataprb_ = ComputeBitErrProb(datapktsize_);
00279 
00280                 firstTime_ = 0;
00281         }       
00282 
00283         u = ranvar_ ? ranvar_->value() : Random::uniform();
00284         dptr = (hdr_cmn::access(p)->size() >= datapktsize_) ? dataprb_ : cntrlprb_;
00285         for (i = 0; i < (FECstrength_ + 2); i++)
00286                 if (dptr[i] > u) break;
00287         return(i);
00288 }

Here is the call graph for this function:

int ErrorModel::CorruptByte Packet  )  [protected, inherited]
 

Definition at line 262 of file errmodel.cc.

References ErrorModel::PktLength(), pow(), ErrorModel::ranvar_, ErrorModel::rate_, Random::uniform(), and RandomVariable::value().

Referenced by ErrorModel::corrupt().

00263 {
00264         // compute pkt error rate, assume uniformly distributed byte error
00265         double per = 1 - pow(1.0 - rate_, PktLength(p));
00266         double u = ranvar_ ? ranvar_->value() : Random::uniform();
00267         return (u < per);
00268 }

Here is the call graph for this function:

int ErrorModel::CorruptPkt Packet  )  [protected, inherited]
 

Definition at line 255 of file errmodel.cc.

References ErrorModel::ranvar_, ErrorModel::rate_, Random::uniform(), and RandomVariable::value().

Referenced by ErrorModel::corrupt().

00256 {
00257         // if no random var is specified, assume uniform random variable
00258         double u = ranvar_ ? ranvar_->value() : Random::uniform();
00259         return (u < rate_);
00260 }

Here is the call graph for this function:

int ErrorModel::CorruptTime Packet  )  [protected, inherited]
 

Definition at line 290 of file errmodel.cc.

Referenced by ErrorModel::corrupt().

00291 {
00292         fprintf(stderr, "Warning:  uniform rate error cannot be time-based\n");
00293         return 0;
00294 }

void NsObject::debug const char *  fmt,
... 
[virtual, inherited]
 

Definition at line 102 of file object.cc.

References NsObject::debug_.

00103 {
00104         if (!debug_)
00105                 return;
00106         va_list ap;
00107         va_start(ap, fmt);
00108         vprintf(fmt, ap);
00109 }

int NsObject::delay_bind_dispatch const char *  varName,
const char *  localName,
TclObject tracer
[virtual, inherited]
 

Reimplemented in BayFullTcpAgent, Agent, MPLSAddressClassifier, LDPAgent, FullTcpAgent, SackFullTcpAgent, RFC793eduTcpAgent, TcpSink, TcpAgent, and VegasTcpAgent.

Definition at line 63 of file object.cc.

References NsObject::debug_.

Referenced by MPLSAddressClassifier::delay_bind_dispatch(), and Agent::delay_bind_dispatch().

00064 {
00065         if (delay_bind_bool(varName, localName, "debug_", &debug_, tracer)) 
00066                 return TCL_OK;
00067         return TclObject::delay_bind_dispatch(varName, localName, tracer);
00068 }

void NsObject::delay_bind_init_all  )  [virtual, inherited]
 

Reimplemented in BayFullTcpAgent, Agent, MPLSAddressClassifier, LDPAgent, FullTcpAgent, SackFullTcpAgent, RFC793eduTcpAgent, TcpSink, TcpAgent, and VegasTcpAgent.

Definition at line 57 of file object.cc.

Referenced by MPLSAddressClassifier::delay_bind_init_all(), and Agent::delay_bind_init_all().

00058 {
00059         delay_bind_init_one("debug_");
00060 }

void Connector::drop Packet p,
const char *  s
[protected, virtual, inherited]
 

Definition at line 114 of file connector.cc.

References Connector::drop_, Packet::free(), and NsObject::recv().

00115 {
00116         if (drop_ != 0)
00117                 drop_->recv(p, s);
00118         else
00119                 Packet::free(p);
00120 }

Here is the call graph for this function:

void Connector::drop Packet p  )  [virtual, inherited]
 

Definition at line 106 of file connector.cc.

References Connector::drop_, Packet::free(), and NsObject::recv().

Referenced by DSRAgent::acceptRouteReply(), ARPTable::arpresolve(), JoBS::dropFront(), Vq::dropPacketForECN(), DSRAgent::dropSendBuff(), JoBS::dropTail(), dsREDQueue::edrop(), Vq::enque(), SRR::enque(), SimpleIntServ::enque(), SFQ::enque(), rtqueue::enque(), RIOQueue::enque(), REMQueue::enque(), REDQueue::enque(), RedPDQueue::enque(), PIQueue::enque(), Marker::enque(), GK::enque(), dsREDQueue::enque(), DRR::enque(), DropTail::enque(), Demarker::enque(), aodv_rqueue::enque(), toraAgent::forward(), AODV::forward(), LandmarkAgent::ForwardPacket(), DSDV_Agent::forwardPacket(), DSRAgent::getRouteForPacket(), Snoop::handle(), DSRAgent::handleFlowForwarding(), DSRAgent::handleForwarding(), DSDV_Agent::lost_link(), TCPTapAgent::processpkt(), CMUPriQueue::prq_enqueue(), rtqueue::purge(), imepAgent::purgeReXmitQ(), SessionTTLChecker::recv(), TTLChecker::recv(), toraAgent::recv(), FullTcpAgent::recv(), BayFullTcpAgent::recv(), TBF::recv(), SatLL::recv(), LL::recv(), GAFPartner::recv(), FloodAgent::recv(), Filter::recv(), DynamicLink::recv(), DSDV_Agent::recv(), AODV::recv(), AODV::recvError(), PriQueue::recvHighPriority(), AODV::recvReply(), toraAgent::reset(), Queue< T >::reset(), LinkDelay::reset(), AODV::rt_ll_failed(), AODV::rt_purge(), AODV::rt_resolve(), toraAgent::rtRoutePacket(), TCPTapAgent::sendpkt(), TapAgent::sendpkt(), IPTapAgent::sendpkt(), AODV::sendRequest(), SatLL::sendUp(), LL::sendUp(), PriQueue::Terminate(), DSRAgent::Terminate(), CMUPriQueue::Terminate(), ARPTable::Terminate(), and DSRAgent::undeliverablePkt().

00107 {
00108         if (drop_ != 0)
00109                 drop_->recv(p);
00110         else
00111                 Packet::free(p);
00112 }

Here is the call graph for this function:

void NsObject::handle Event  )  [protected, virtual, inherited]
 

Implements Handler.

Reimplemented in LinkDelay, LL, AckRecons, and Snoop.

Definition at line 91 of file object.cc.

References NsObject::recv().

00092 {
00093         recv((Packet*)e);
00094 }

Here is the call graph for this function:

int NsObject::isdebug  )  const [inline, inherited]
 

Definition at line 61 of file object.h.

References NsObject::debug_.

00061 { return debug_; }

int MrouteErrorModel::match Packet p  )  [virtual]
 

Reimplemented from TraceErrorModel.

Definition at line 875 of file errmodel.cc.

References hdr_mcast_ctrl::access(), msg_type, and hdr_mcast_ctrl::type().

00876 {
00877         hdr_mcast_ctrl* ph = hdr_mcast_ctrl::access(p);
00878         int indx = strcspn(ph->type(),"/");
00879         if (!strncmp(ph->type(),msg_type,indx)) {
00880                 return 1;
00881         }
00882         return 0;
00883 }

Here is the call graph for this function:

int MrouteErrorModel::maxtype  )  [inline]
 

Definition at line 197 of file errmodel.h.

References msg_type.

Referenced by command().

00197 { return sizeof(msg_type); }

double ErrorModel::PktLength Packet  )  [protected, inherited]
 

Definition at line 218 of file errmodel.cc.

References hdr_cmn::access(), ErrorModel::bandwidth_, EU_BIT, EU_BYTE, EU_PKT, hdr_cmn::size(), and ErrorModel::unit_.

Referenced by TwoStateErrorModel::corrupt(), and ErrorModel::CorruptByte().

00219 {
00220         //double now;
00221         if (unit_ == EU_PKT)
00222                 return 1;
00223         int byte = hdr_cmn::access(p)->size();
00224         if (unit_ == EU_BYTE)
00225                 return byte;
00226         if (unit_ == EU_BIT)
00227                 return 8.0 * byte;
00228         return 8.0 * byte / bandwidth_;
00229 }

Here is the call graph for this function:

double ErrorModel::rate  )  [inline, inherited]
 

Definition at line 70 of file errmodel.h.

References ErrorModel::rate_.

00070 { return rate_; }

void NsObject::recv Packet p,
const char *  s
[virtual, inherited]
 

Reimplemented in CMUTrace.

Definition at line 96 of file object.cc.

References Packet::free().

00097 {
00098         Packet::free(p);
00099 }

Here is the call graph for this function:

void ErrorModel::recv Packet ,
Handler
[virtual, inherited]
 

Reimplemented from Connector.

Definition at line 160 of file errmodel.cc.

References hdr_flags::access(), hdr_cmn::access(), ErrorModel::bandwidth_, hdr_flags::ce(), ErrorModel::corrupt(), ErrorModel::delay_, ErrorModel::delay_pkt_, Connector::drop_, hdr_cmn::error(), Scheduler::instance(), ErrorModel::intr_, ErrorModel::markecn_, NsObject::recv(), Scheduler::schedule(), hdr_cmn::size(), Connector::target_, and Random::uniform().

00161 {
00162         // 1.  Determine the error by calling corrupt(p)
00163         // 2.  Set the packet's error flag if it is corrupted
00164         // 3.  If there is no error,  no drop_ target or markecn is true,
00165         //      let pkt continue, otherwise hand the corrupted packet to drop_
00166 
00167         hdr_cmn* ch = hdr_cmn::access(p);
00168         int error = corrupt(p);
00169 
00170         // XXX When we do ECN, the packet is marked but NOT dropped.
00171         // So we don't resume handler here. 
00172         if (!markecn_ && !delay_pkt_ && (h && ((error && drop_) || !target_))) {
00173                 // if we drop or there is no target_, then resume handler
00174                 double delay = Random::uniform(8.0 * ch->size() / bandwidth_);
00175                 Scheduler::instance().schedule(h, &intr_, delay);
00176         } 
00177         if (error) {
00178                 ch->error() |= error;
00179 
00180                 if (markecn_) {
00181                         hdr_flags* hf = hdr_flags::access(p);
00182                         hf->ce() = 1;
00183                 } else if (delay_pkt_) {
00184                         // Delay the packet.
00185                         Scheduler::instance().schedule(target_, p, delay_);
00186                         return;
00187                 } else if (drop_) {
00188                         drop_->recv(p);
00189                         return;
00190                 }
00191         }
00192 
00193         if (target_) {
00194                 target_->recv(p, h);
00195         }
00196 }

Here is the call graph for this function:

virtual void NsObject::recvOnly Packet  )  [inline, virtual, inherited]
 

Reimplemented in Agent, and Trace.

Definition at line 56 of file object.h.

Referenced by Trace::recvOnly().

00056 {};

void ErrorModel::reset  )  [virtual, inherited]
 

Reimplemented from NsObject.

Definition at line 154 of file errmodel.cc.

References ErrorModel::firstTime_.

00155 {
00156         firstTime_ = 1;
00157 }

void Connector::send Packet p,
Handler h
[inline, protected, inherited]
 

Reimplemented in Agent, and LinkDelay.

Definition at line 54 of file connector.h.

References NsObject::recv(), and Connector::target_.

Referenced by SessionTTLChecker::recv(), TTLChecker::recv(), DequeTrace::recv(), Trace::recv(), TraceIpMac::recv(), TraceIp::recv(), SatDequeTrace::recv(), SALink::recv(), SnoopQueueEDrop::recv(), SnoopQueueTagger::recv(), SnoopQueueDrop::recv(), SnoopQueueOut::recv(), SnoopQueueIn::recv(), PktCounter::recv(), NetworkInterface::recv(), MeasureMod::recv(), Filter::recv(), Connector::recv(), CMUTrace::recv(), CBQClass::recv(), and AddSR::recv().

00054 { target_->recv(p, h); }

Here is the call graph for this function:

NsObject* Connector::target  )  [inline, inherited]
 

Definition at line 48 of file connector.h.

References Connector::target_.

Referenced by JoBS::assignRateDropsADC(), FQ::deque(), QSAgent::recv(), and MIPMHAgent::reg().

00048 { return target_; }

ErrorUnit ErrorModel::unit  )  [inline, inherited]
 

Definition at line 71 of file errmodel.h.

References ErrorUnit, and ErrorModel::unit_.

00071 { return unit_; }


Member Data Documentation

double ErrorModel::bandwidth_ [protected, inherited]
 

Definition at line 89 of file errmodel.h.

Referenced by ErrorModel::ErrorModel(), ErrorModel::PktLength(), and ErrorModel::recv().

int ErrorModel::cntrlpktsize_ [protected, inherited]
 

Definition at line 94 of file errmodel.h.

Referenced by ErrorModel::command(), and ErrorModel::CorruptBit().

double* ErrorModel::cntrlprb_ [protected, inherited]
 

Definition at line 95 of file errmodel.h.

Referenced by ErrorModel::CorruptBit().

int ErrorModel::datapktsize_ [protected, inherited]
 

Definition at line 93 of file errmodel.h.

Referenced by ErrorModel::command(), and ErrorModel::CorruptBit().

double* ErrorModel::dataprb_ [protected, inherited]
 

Definition at line 96 of file errmodel.h.

Referenced by ErrorModel::CorruptBit().

int NsObject::debug_ [protected, inherited]
 

Reimplemented in FECModel, FloodAgent, and LandmarkAgent.

Definition at line 66 of file object.h.

Referenced by REDQueue::command(), RedPDQueue::command(), PushbackQueue::command(), NsObject::debug(), NsObject::delay_bind_dispatch(), RedPDQueue::enque(), PushbackQueue::enque(), NsObject::isdebug(), NsObject::NsObject(), TfrcAgent::recv(), PushbackQueue::reportDrop(), and REDQueue::reset().

double ErrorModel::delay_ [protected, inherited]
 

Definition at line 88 of file errmodel.h.

Referenced by ErrorModel::ErrorModel(), and ErrorModel::recv().

int ErrorModel::delay_pkt_ [protected, inherited]
 

Definition at line 84 of file errmodel.h.

Referenced by ErrorModel::ErrorModel(), and ErrorModel::recv().

NsObject* Connector::drop_ [protected, inherited]
 

Definition at line 57 of file connector.h.

Referenced by Connector::command(), Connector::drop(), and ErrorModel::recv().

int ErrorModel::enable_ [protected, inherited]
 

Definition at line 82 of file errmodel.h.

Referenced by ErrorModel::corrupt(), and ErrorModel::ErrorModel().

int ErrorModel::FECstrength_ [protected, inherited]
 

Definition at line 92 of file errmodel.h.

Referenced by ErrorModel::command(), ErrorModel::ComputeBitErrProb(), and ErrorModel::CorruptBit().

int ErrorModel::firstTime_ [protected, inherited]
 

Definition at line 85 of file errmodel.h.

Referenced by MultiStateErrorModel::corrupt(), TwoStateErrorModel::corrupt(), ErrorModel::CorruptBit(), and ErrorModel::reset().

double TraceErrorModel::good_ [protected, inherited]
 

Definition at line 135 of file errmodel.h.

Referenced by TraceErrorModel::corrupt(), and TraceErrorModel::TraceErrorModel().

Event ErrorModel::intr_ [protected, inherited]
 

Definition at line 97 of file errmodel.h.

Referenced by ErrorModel::recv().

double TraceErrorModel::loss_ [protected, inherited]
 

Definition at line 134 of file errmodel.h.

Referenced by TraceErrorModel::corrupt(), and TraceErrorModel::TraceErrorModel().

int ErrorModel::markecn_ [protected, inherited]
 

Definition at line 83 of file errmodel.h.

Referenced by ErrorModel::ErrorModel(), and ErrorModel::recv().

char MrouteErrorModel::msg_type[15] [protected]
 

Definition at line 200 of file errmodel.h.

Referenced by command(), match(), and maxtype().

RandomVariable* ErrorModel::ranvar_ [protected, inherited]
 

Reimplemented in TwoStateErrorModel.

Definition at line 90 of file errmodel.h.

Referenced by ErrorModel::command(), ErrorModel::CorruptBit(), ErrorModel::CorruptByte(), and ErrorModel::CorruptPkt().

double ErrorModel::rate_ [protected, inherited]
 

Definition at line 87 of file errmodel.h.

Referenced by ErrorModel::ComputeBitErrProb(), ErrorModel::CorruptByte(), ErrorModel::CorruptPkt(), ErrorModel::ErrorModel(), and ErrorModel::rate().

NsObject* Connector::target_ [protected, inherited]
 

Definition at line 56 of file connector.h.

Referenced by SRAgent::command(), SA_Agent::command(), IvsReceiver::command(), MultiFieldFilter::command(), Filter::command(), Connector::command(), DiffusionAgent::DiffusionAgent(), DSRAgent::DSRAgent(), PromotionTimer::expire(), FloodingAgent::FloodingAgent(), toraAgent::forward(), AODV::forward(), LandmarkAgent::ForwardPacket(), DSDV_Agent::forwardPacket(), SensorQueryAgent::generate_query(), DSDVTriggerHandler::handle(), AckRecons::handle(), DSRAgent::handlePacketReceipt(), DSDV_Agent::helper_callback(), AODV::initialized(), DSDV_Agent::lost_link(), OmniMcastAgent::OmniMcastAgent(), LandmarkAgent::periodic_callback(), LandmarkAgent::ProcessHierUpdate(), TCPTapAgent::processpkt(), IPTapAgent::processpkt(), CMUPriQueue::prq_enqueue(), CMUPriQueue::prq_resume(), DequeTrace::recv(), Trace::recv(), TraceIpMac::recv(), TraceIp::recv(), TBF::recv(), SRMAgent::recv(), SSMSRMAgent::recv(), SatDequeTrace::recv(), SAack_Agent::recv(), Queue< T >::recv(), PingResponder::recv(), MIPEncapsulator::recv(), LmsAgent::recv(), HackLossyLink::recv(), GAFPartner::recv(), FQ::recv(), FloodAgent::recv(), ErrorModel::recv(), DynamicLink::recv(), DumbAgent::recv(), DSRAgent::recv(), DelayModel::recv(), LinkDelay::recv(), CtrMcastDecap::recv(), CtrMcastEncap::recv(), CMUTrace::recv(), PriQueue::recvHighPriority(), Trace::recvOnly(), TapAgent::recvpkt(), Queue< T >::resume(), LinkDelay::send(), Connector::send(), Agent::send(), MIPBSAgent::send_ads(), SRMAgent::send_ctrl(), SSMSRMAgent::send_ctrl(), MFTPSndAgent::send_data(), LmsSender::send_dmcast(), LmsReceiver::send_dmcast(), LmsAgent::send_downstream(), SSMSRMAgent::send_glb_sess(), LmsSender::send_lms_pkt(), SSMSRMAgent::send_loc_sess(), MFTPRcvAgent::send_nak(), LmsReceiver::send_nak(), LmsReceiver::send_refresh(), SSMSRMAgent::send_rep_sess(), SRMAgent::send_sess(), MIPMHAgent::send_sols(), LmsSender::send_spm(), MFTPSndAgent::send_status_request(), LmsAgent::send_upstream(), LandmarkAgent::SendChangedTagListUpdate(), AODV::sendError(), AODV::sendHello(), UdpAgent::sendmsg(), SRMAgent::sendmsg(), SA_Agent::sendmsg(), RTPAgent::sendmsg(), LmsSender::sendmsg(), DSDV_Agent::sendOutBCastPkt(), SA_Agent::sendpkt(), rtProtoDV::sendpkt(), RTPAgent::sendpkt(), RTCPAgent::sendpkt(), IvsSource::sendpkt(), AODV::sendReply(), AODV::sendRequest(), LmsSender::solicit_naks(), Connector::target(), TBF::timeout(), and toraAgent::tora_output().

ErrorUnit ErrorModel::unit_ [protected, inherited]
 

Definition at line 86 of file errmodel.h.

Referenced by ErrorModel::command(), LMSErrorModel::corrupt(), SRMErrorModel::corrupt(), SelectErrorModel::corrupt(), ListErrorModel::corrupt(), PeriodicErrorModel::corrupt(), ErrorModel::corrupt(), ErrorModel::PktLength(), and ErrorModel::unit().


The documentation for this class was generated from the following files:
Generated on Tue Apr 20 13:01:43 2004 for NS2.26SourcesOriginal by doxygen 1.3.3