#include <diff_prob.h>
Inheritance diagram for InterestTimer:


Public Types | |
| enum | TimerStatus { TIMER_IDLE, TIMER_PENDING, TIMER_HANDLING } |
Public Member Functions | |
| InterestTimer (DiffusionProb *a, Pkt_Hash_Entry *hashPtr, Packet *pkt) | |
| virtual | ~InterestTimer () |
| virtual void | expire (Event *e) |
| void | sched (double delay) |
| void | resched (double delay) |
| void | cancel () |
| void | force_cancel () |
| int | status () |
Protected Member Functions | |
| virtual void | handle (Event *) |
Protected Attributes | |
| DiffusionProb * | a_ |
| Pkt_Hash_Entry * | hashPtr_ |
| Packet * | pkt_ |
| int | status_ |
| Event | event_ |
|
|
Definition at line 66 of file timer-handler.h.
00066 { TIMER_IDLE, TIMER_PENDING, TIMER_HANDLING };
|
|
||||||||||||||||
|
Definition at line 92 of file diff_prob.h. References a_, hashPtr_, and pkt_.
00092 : 00093 TimerHandler() 00094 { 00095 a_ = a; 00096 hashPtr_ = hashPtr; 00097 pkt_ = pkt; 00098 } |
|
|
Definition at line 100 of file diff_prob.h. References Packet::free(), and pkt_.
00100 {
00101 if (pkt_ != NULL)
00102 Packet::free(pkt_);
00103 }
|
Here is the call graph for this function:

|
Here is the call graph for this function:

|
|
Implements TimerHandler. Definition at line 73 of file diff_prob.cc. References a_, hashPtr_, DiffusionProb::InterestPropagate(), and pkt_.
00074 {
00075 a_->InterestPropagate(pkt_, hashPtr_);
00076 }
|
Here is the call graph for this function:

|
|
Definition at line 60 of file timer-handler.h. References TimerHandler::_cancel(), TimerHandler::status_, TimerHandler::TIMER_IDLE, and TimerHandler::TIMER_PENDING. Referenced by TcpAgent::cancel_rtx_timer(), TcpSessionAgent::cancel_rtx_timer(), TcpFsAgent::cancel_rtx_timer(), AbsTcpAgent::cancel_timer(), TcpAgent::cancel_timers(), TcpSessionAgent::cancel_timers(), FullTcpAgent::cancel_timers(), TcpFsAgent::cancel_timers(), SinkAgent::command(), UnslottedAlohaMac::end_of_contention(), GAFAgent::processDiscoveryMsg(), RTPAgent::rate_change(), TfrcAgent::stop(), RTPAgent::stop(), and SinkAgent::stop().
00060 { // cancel!
00061 if (status_ == TIMER_PENDING) {
00062 _cancel();
00063 status_ = TIMER_IDLE;
00064 }
00065 }
|
Here is the call graph for this function:

|
|
Implements Handler. Reimplemented in EmpFtpTrafSession, EmpWebPage, EmpWebTrafSession, HBTimer, WebPage, and WebTrafSession. Definition at line 69 of file timer-handler.cc. References abort(), TimerHandler::expire(), TimerHandler::status_, TimerHandler::TIMER_HANDLING, TimerHandler::TIMER_IDLE, and TimerHandler::TIMER_PENDING. Referenced by WebTrafSession::handle(), WebPage::handle(), HBTimer::handle(), EmpWebTrafSession::handle(), EmpWebPage::handle(), and EmpFtpTrafSession::handle().
00070 {
00071 if (status_ != TIMER_PENDING) // sanity check
00072 abort();
00073 status_ = TIMER_HANDLING;
00074 expire(e);
00075 // if it wasn't rescheduled, it's done
00076 if (status_ == TIMER_HANDLING)
00077 status_ = TIMER_IDLE;
00078 }
|
Here is the call graph for this function:

|
Here is the call graph for this function:

|
Here is the call graph for this function:

|
|
|
Definition at line 107 of file diff_prob.h. Referenced by expire(), and InterestTimer(). |
|
|
Definition at line 75 of file timer-handler.h. Referenced by TimerHandler::_cancel(), TimerHandler::_sched(), WebPage::start(), and EmpWebPage::start(). |
|
|
Definition at line 108 of file diff_prob.h. Referenced by expire(), and InterestTimer(). |
|
|
Definition at line 109 of file diff_prob.h. Referenced by expire(), InterestTimer(), and ~InterestTimer(). |
|
1.3.3