38#ifndef UWMULTI_TRAFFIC_Control_H
39#define UWMULTI_TRAFFIC_Control_H
130 virtual int command(
int,
const char *
const *);
137 virtual void recv(Packet *p);
197 up_map[traffic] = upper_layer_id;
210 int lower_layer_id,
int behavior)
212 down_map[traffic][lower_layer_stack] =
213 std::make_pair(lower_layer_id, behavior);
283 int traffic_id,
const std::string &tag,
int behavior);
294 double send_down_delay = 0);
Definition uwmulti-traffic-control.h:105
virtual bool addLowLayerFromTag(int traffic_id, const std::string &tag, int behavior)
Definition uwmulti-traffic-control.cc:147
BufferTrafficFeature buffer_feature_map
Definition uwmulti-traffic-control.h:145
DownTrafficBuffer down_buffer
Definition uwmulti-traffic-control.h:143
virtual ~UwMultiTrafficControl()
Definition uwmulti-traffic-control.h:116
virtual void recvFromUpperLayers(Packet *p)
Definition uwmulti-traffic-control.cc:202
void setBufferFeature(int traffic_id, int max_size, bool is_circular, double send_down_delay=0)
Definition uwmulti-traffic-control.cc:394
virtual int command(int, const char *const *)
Definition uwmulti-traffic-control.cc:79
UwMultiTrafficControl()
Definition uwmulti-traffic-control.cc:67
virtual int getUpperLayer(int traffic)
Definition uwmulti-traffic-control.cc:348
int debug_
Definition uwmulti-traffic-control.h:140
virtual void manageBuffer(int traffic)
Definition uwmulti-traffic-control.cc:274
DownTrafficMap down_map
Definition uwmulti-traffic-control.h:142
virtual bool addUpLayerFromTag(int traffic_id, const std::string &tag)
Definition uwmulti-traffic-control.cc:118
virtual int getBestLowerLayer(int traffic, Packet *p=NULL)
Definition uwmulti-traffic-control.cc:327
UpTrafficMap up_map
Definition uwmulti-traffic-control.h:141
virtual Packet * getFromBuffer(int traffic)
Definition uwmulti-traffic-control.cc:311
virtual Packet * removeFromBuffer(int traffic)
Definition uwmulti-traffic-control.cc:294
virtual void eraseTraffic2Low(int traffic)
Definition uwmulti-traffic-control.cc:376
virtual void recv(Packet *p)
Definition uwmulti-traffic-control.cc:184
virtual void eraseTraffic2LowerLayer(int traffic, int lower_layer_stack)
Definition uwmulti-traffic-control.cc:361
virtual void incrPktLoss(int traffic_id)
Definition uwmulti-traffic-control.cc:409
virtual uint getDiscardedPacket(int traffic_id) const
Definition uwmulti-traffic-control.cc:422
virtual void eraseTraffic2Up(int traffic)
Definition uwmulti-traffic-control.cc:385
void insertTraffic2UpLayer(int traffic, int upper_layer_id)
Definition uwmulti-traffic-control.h:195
void insertTraffic2LowerLayer(int traffic, int lower_layer_stack, int lower_layer_id, int behavior)
Definition uwmulti-traffic-control.h:209
virtual void insertInBuffer(Packet *p, int traffic)
Definition uwmulti-traffic-control.cc:217
Definition uwmulti-traffic-control.h:56
double last_sched_tx
Definition uwmulti-traffic-control.h:65
BufferBehavior behavior_buff
Definition uwmulti-traffic-control.h:62
double getUpdatedDelay(double time_instant)
Definition uwmulti-traffic-control.h:77
uint pkts_lost
Definition uwmulti-traffic-control.h:64
double send_delay
Definition uwmulti-traffic-control.h:63
uint max_size
Definition uwmulti-traffic-control.h:61
BufferType(uint size, BufferBehavior behav, double del)
Definition uwmulti-traffic-control.h:67
BufferBehavior
Definition uwmulti-traffic-control.h:57
@ CIRCULAR
Definition uwmulti-traffic-control.h:59
@ DISCARD_INCOMING
Definition uwmulti-traffic-control.h:58
std::pair< int, int > BehaviorItem
Definition uwmulti-traffic-control.h:93
std::map< int, BehaviorItem > BehaviorMap
Definition uwmulti-traffic-control.h:94
std::map< int, BehaviorMap > DownTrafficMap
Definition uwmulti-traffic-control.h:95
std::map< int, BufferType > BufferTrafficFeature
Definition uwmulti-traffic-control.h:99
std::map< int, Buffer * > DownTrafficBuffer
Definition uwmulti-traffic-control.h:97
std::map< int, int > UpTrafficMap
Definition uwmulti-traffic-control.h:92
std::queue< Packet * > Buffer
Definition uwmulti-traffic-control.h:96