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

SnoopRxmitHandler Class Reference

#include <snoop.h>

Inheritance diagram for SnoopRxmitHandler:

Inheritance graph
[legend]
Collaboration diagram for SnoopRxmitHandler:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 SnoopRxmitHandler (Snoop *s)
void handle (Event *event)

Protected Attributes

Snoopsnoop_

Constructor & Destructor Documentation

SnoopRxmitHandler::SnoopRxmitHandler Snoop s  )  [inline]
 

Definition at line 187 of file snoop.h.

References snoop_.

00187 : snoop_(s) {}


Member Function Documentation

void SnoopRxmitHandler::handle Event event  )  [virtual]
 

Implements Handler.

Definition at line 756 of file snoop.cc.

References hdr_snoop::access(), Snoop::bufhead_, Snoop::buftail_, Snoop::expNextAck_, Snoop::fstate_, Snoop::lastAck_, Snoop::next(), Snoop::pkts_, sh, snoop_, SNOOP_FULL, Snoop::snoop_rxmit(), SNOOP_SUPPRESS, and Snoop::toutPending_.

00757 {
00758         Packet *p = snoop_->pkts_[snoop_->buftail_];
00759         snoop_->toutPending_ = 0;
00760         if (p == 0)
00761                 return;
00762         hdr_snoop *sh = hdr_snoop::access(p);
00763         if (sh->seqno() != snoop_->lastAck_ + 1)
00764                 return;
00765         if ((snoop_->bufhead_ != snoop_->buftail_) || 
00766             (snoop_->fstate_ & SNOOP_FULL)) {
00767                 //              printf("%f Snoop timeout\n", Scheduler::instance().clock());
00768                 if (snoop_->snoop_rxmit(p) == SNOOP_SUPPRESS)
00769                         snoop_->expNextAck_ = snoop_->next(snoop_->buftail_);
00770         }
00771 }

Here is the call graph for this function:


Member Data Documentation

Snoop* SnoopRxmitHandler::snoop_ [protected]
 

Definition at line 190 of file snoop.h.

Referenced by handle(), and SnoopRxmitHandler().


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