

Public Member Functions | |
| virtual int | length () const |
| virtual int | byteLength () const |
| virtual Packet * | enque (Packet *p) |
| virtual Packet * | deque () |
| Packet * | lookup (int n) |
| virtual void | remove (Packet *) |
| void | remove (Packet *, Packet *) |
| Packet * | head () |
| Packet * | tail () |
| virtual void | enqueHead (Packet *p) |
| void | resetIterator () |
| Packet * | getNext () |
Protected Member Functions | |
| void | sfqdebug () |
| PacketSFQ * | activate (PacketSFQ *head) |
| PacketSFQ * | idle (PacketSFQ *head) |
Protected Attributes | |
| int | pkts |
| PacketSFQ * | prev |
| PacketSFQ * | next |
| Packet * | head_ |
| Packet * | tail_ |
| int | len_ |
| int | bytes_ |
Private Member Functions | |
| PacketSFQ () | |
Friends | |
| class | SFQ |
|
|
Definition at line 51 of file sfq.cc. References next, pkts, and prev.
|
|
|
Definition at line 58 of file sfq.cc. Referenced by SFQ::enque().
|
|
|
Definition at line 49 of file queue.h. References PacketQueue::bytes_. Referenced by REDQueue::bcount_(), Queue< T >::byteLength(), PIQueue::calculate_p(), REDQueue::deque(), PIQueue::deque(), DropTail::deque(), REDQueue::drop_early(), RIOQueue::enque(), REDQueue::enque(), RedPDQueue::enque(), PushbackQueue::enque(), PIQueue::enque(), and DropTail::enque().
00049 { return (bytes_); }
|
|
Here is the call graph for this function:

|
|
Reimplemented in SemanticPacketQueue. Definition at line 50 of file queue.h. References hdr_cmn::access(), PacketQueue::bytes_, PacketQueue::head_, PacketQueue::len_, Packet::next_, hdr_cmn::size(), and PacketQueue::tail_. Referenced by Vq::enque(), SimpleIntServ::enque(), SFQ::enque(), SemanticPacketQueue::enque(), RIOQueue::enque(), REDQueue::enque(), PIQueue::enque(), Marker::enque(), JoBS::enque(), GK::enque(), redQueue::enque(), DRR::enque(), DropTail::enque(), Demarker::enque(), SemanticPacketQueue::enque_head(), DSDV_Agent::forwardPacket(), TBF::recv(), LinkDelay::recv(), imepAgent::recv_outgoing(), imepAgent::sendAck(), and imepAgent::sendHello().
|
Here is the call graph for this function:

|
|
Definition at line 85 of file queue.h. References hdr_cmn::access(), PacketQueue::bytes_, PacketQueue::head_, PacketQueue::len_, Packet::next_, hdr_cmn::size(), and PacketQueue::tail_. Referenced by imepAgent::aggregateObjectBlock(), PushbackQueue::enque(), and PriQueue::recvHighPriority().
|
Here is the call graph for this function:

|
|
Definition at line 93 of file queue.h. References PacketQueue::iter, and Packet::next_.
|
|
|
Reimplemented in SemanticPacketQueue. Definition at line 82 of file queue.h. References PacketQueue::head_. Referenced by JoBS::adjustRatesRDC(), JoBS::arvAccounting(), JoBS::assignRateDropsADC(), JoBS::deque(), Vq::dropPacketForECN(), JoBS::enforceWC(), Vq::enque(), PriQueue::filter(), Vq::markPacketForECN(), JoBS::minRatesNeeded(), JoBS::pickDroppedRLC(), JoBS::projDelay(), TBF::timeout(), JoBS::updateError(), and TBF::~TBF().
00082 { return head_; }
|
|
|
Definition at line 70 of file sfq.cc. Referenced by SFQ::deque().
|
|
|
|
Definition at line 71 of file queue.h. References PacketQueue::head_, and Packet::next_. Referenced by DRR::deque(), PriQueue::filter(), SemanticPacketQueue::pickPacketForECN(), SemanticPacketQueue::pickPacketToDrop(), REDQueue::pickPacketToDrop(), PIQueue::pickPacketToDrop(), LinkDelay::pktintran(), and PriQueue::recvHighPriority().
|
|
||||||||||||
|
Reimplemented in SemanticPacketQueue. Definition at line 67 of file queue.cc. References hdr_cmn::access(), PacketQueue::bytes_, PacketQueue::deque(), PacketQueue::head_, PacketQueue::len_, Packet::next_, hdr_cmn::size(), and PacketQueue::tail_.
00067 : screwy
00068 {
00069 if (pkt) {
00070 if (head_ == pkt)
00071 PacketQueue::deque(); /* decrements len_ internally */
00072 else {
00073 prev->next_ = pkt->next_;
00074 if (tail_ == pkt)
00075 tail_ = prev;
00076 --len_;
00077 bytes_ -= hdr_cmn::access(pkt)->size();
00078 }
00079 }
00080 return;
00081 }
|
Here is the call graph for this function:

|
|
Reimplemented in SemanticPacketQueue. Definition at line 44 of file queue.cc. References abort(), hdr_cmn::access(), PacketQueue::bytes_, PacketQueue::deque(), PacketQueue::head_, PacketQueue::len_, Packet::next_, hdr_cmn::size(), and PacketQueue::tail_. Referenced by SemanticPacketQueue::deque_acksfirst(), Vq::dropPacketForECN(), Vq::enque(), RIOQueue::enque(), REMQueue::enque(), REDQueue::enque(), PIQueue::enque(), Marker::enque(), GK::enque(), Demarker::enque(), PriQueue::filter(), SemanticPacketQueue::filterAcks(), PriQueue::recvHighPriority(), and SemanticPacketQueue::remove().
00045 {
00046 for (Packet *pp= 0, *p= head_; p; pp= p, p= p->next_) {
00047 if (p == target) {
00048 if (!pp) deque();
00049 else {
00050 if (p == tail_)
00051 tail_= pp;
00052 pp->next_= p->next_;
00053 --len_;
00054 bytes_ -= hdr_cmn::access(p)->size();
00055 }
00056 return;
00057 }
00058 }
00059 fprintf(stderr, "PacketQueue:: remove() couldn't find target\n");
00060 abort();
00061 }
|
Here is the call graph for this function:

|
|
Definition at line 92 of file queue.h. References PacketQueue::head_, and PacketQueue::iter.
00092 {iter = head_;}
|
|
|
Definition at line 167 of file sfq.cc.
|
|
|
Definition at line 83 of file queue.h. References PacketQueue::tail_.
00083 { return tail_; }
|
|
|
|
|
|
Definition at line 103 of file queue.h. Referenced by PacketQueue::byteLength(), PacketQueue::deque(), PacketQueue::enque(), PacketQueue::enqueHead(), PacketQueue::PacketQueue(), and PacketQueue::remove(). |
|
|
|
Definition at line 102 of file queue.h. Referenced by PacketQueue::deque(), PacketQueue::enque(), SemanticPacketQueue::enque_head(), PacketQueue::enqueHead(), PacketQueue::length(), PacketQueue::PacketQueue(), and PacketQueue::remove(). |
|
|
Definition at line 57 of file sfq.cc. Referenced by activate(), SFQ::deque(), idle(), PacketSFQ(), and sfqdebug(). |
|
|
Definition at line 55 of file sfq.cc. Referenced by SFQ::clear(), SFQ::deque(), SFQ::enque(), PacketSFQ(), and sfqdebug(). |
|
|
Definition at line 56 of file sfq.cc. Referenced by activate(), idle(), and PacketSFQ(). |
|
|
Definition at line 101 of file queue.h. Referenced by PacketQueue::deque(), PacketQueue::enque(), PacketQueue::enqueHead(), PacketQueue::PacketQueue(), PacketQueue::remove(), and PacketQueue::tail(). |
1.3.3