Application/Traffic/CBR_PP set PBM_ 2 #Default value;
The OTcl instvar bounded variable PBM_ (same name in C++ and in OTcl)
specifies the number of back-to-back packets to be sent. For PBM_=1 we
have a CBR source, for PBM_=2 we have a Packet Pair source (a source which
sends two packets back-to-back), etc. The mean rate of the PP source is
rate_, but the packets are sent in burst of PBM_ packets. Note
that we also use the terminology Packet Pair source and Packet Pair burst for
PBM_
2.
We compute the next_interval as:
double CBR_PP_Traffic::next_interval(int& size)
{
/*(PP_ - 1) is the number of packets in the current burst.*/
if (PP_ \>= (PBM_ - 1)){
interval_ = PBM_*(double)(size_ \<\< 3)/(double)rate_;
PP_ = 0;
}
else {
interval_ = 1e-100; //zero
PP_ += 1 ;
}
...
}
The timeout method puts the NEW_BURST flag in the first packet of a burst. This is useful for the PLM protocol to identify the beginning of a PP burst.
void CBR_PP_Traffic::timeout()
{
...
if (PP_ == 0)
agent_-\>sendmsg(size_, "NEW_BURST");
else
agent_-\>sendmsg(size_);
...
}
Tom Henderson 2011-11-05