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

tools.hh File Reference

#include <stdio.h>
#include <stdarg.h>
#include <stdlib.h>
#include <sys/time.h>
#include <unistd.h>

Include dependency graph for tools.hh:

Include dependency graph

This graph shows which files directly or indirectly include this file:

Included by dependency graph

Go to the source code of this file.

Defines

#define DEBUG_NEVER   11
#define DEBUG_LOTS_DETAILS   10
#define DEBUG_MORE_DETAILS   8
#define DEBUG_DETAILS   6
#define DEBUG_SOME_DETAILS   4
#define DEBUG_NO_DETAILS   3
#define DEBUG_IMPORTANT   2
#define DEBUG_ALWAYS   1
#define DEBUG_DEFAULT   1

Functions

void SetSeed (struct timeval *tv)
void GetTime (struct timeval *tv)
int GetRand ()
void DiffPrint (int msg_debug_level, const char *fmt,...)

Variables

int global_debug_level


Define Documentation

#define DEBUG_ALWAYS   1
 

Definition at line 55 of file tools.hh.

Referenced by DiffusionRouting::addFilter(), AllocateBuffer(), CopyAttrs(), NR::createNR(), GradientFilter::deleteGradient(), GradientFilter::deleteRoutingEntry(), DiffusionCoreAgent::DiffusionCoreAgent(), DiffusionRouting::DiffusionRouting(), DiffusionRouting::filterKeepaliveTimeout(), GeoRoutingFilter::GeoRoutingFilter(), TagFilter::getNodeId(), GeoRoutingFilter::getNodeLocation(), GradientFilter::GradientFilter(), DiffusionRouting::interestTimeout(), DiffusionRouting::isPushData(), LogFilter::LogFilter(), OneWayMatch(), DiffApp::parseCommandLine(), GeoRoutingFilter::preProcessFilter(), PrintAttrs(), DiffusionRouting::processControlMessage(), DiffusionCoreAgent::processControlMessage(), TagFilter::ProcessMessage(), SrcRtFilter::ProcessMessage(), LogFilter::ProcessMessage(), GradientFilter::processNewMessage(), GradientFilter::processOldMessage(), DiffusionRouting::publish(), TagFilter::recv(), SrcRtFilter::recv(), PushReceiverApp::recv(), PingSenderApp::recv(), PingReceiverApp::recv(), LogFilter::recv(), GradientFilter::recv(), GeoRoutingFilter::recv(), DiffusionCoreAgent::recvMessage(), DiffusionCoreAgent::restoreOriginalHeader(), TagFilter::run(), SrcRtFilter::run(), PushSenderApp::run(), PingSenderApp::run(), LogFilter::run(), GeoRoutingFilter::run(), DiffusionRouting::send(), GradientFilter::sendDisinterest(), DiffusionCoreAgent::sendMessage(), SrcRtFilter::SrcRtFilter(), DiffusionRouting::subscribe(), TagFilter::TagFilter(), DiffusionCoreAgent::timeToStop(), UnpackAttrs(), DiffusionCoreAgent::usage(), and DiffApp::usage().

#define DEBUG_DEFAULT   1
 

Definition at line 61 of file tools.hh.

#define DEBUG_DETAILS   6
 

Definition at line 51 of file tools.hh.

Referenced by GradientFilter::gradientTimeout(), DiffusionCoreAgent::recvMessage(), DiffusionCoreAgent::sendMessage(), and GradientFilter::subscriptionTimeout().

#define DEBUG_IMPORTANT   2
 

Definition at line 54 of file tools.hh.

Referenced by LearnedCostTable::addEntry(), HeuristicValueTable::addEntry(), GeoRoutingFilter::beaconTimeout(), GeoRoutingFilter::estimateCost(), GeoRoutingFilter::findNextHop(), GeoRoutingFilter::floodInsideRegion(), GradientFilter::GradientFilter(), IOLog::IOLog(), GeoRoutingFilter::messageTimeout(), GeoRoutingFilter::neighborTimeout(), GeoLocation::output(), Region::output(), GeoRoutingFilter::postProcessFilter(), GeoRoutingFilter::preProcessFilter(), GeoRoutingFilter::preProcessMessage(), DiffusionRouting::processControlMessage(), GradientFilter::processOldMessage(), GradientFilter::putHash(), DiffusionCoreAgent::putHash(), DiffusionRouting::run(), DiffusionCoreAgent::run(), GeoRoutingFilter::sendNeighborRequest(), GeoRoutingFilter::stripOutHeader(), and GeoRoutingFilter::updateNeighbor().

#define DEBUG_LOTS_DETAILS   10
 

Definition at line 49 of file tools.hh.

#define DEBUG_MORE_DETAILS   8
 

Definition at line 50 of file tools.hh.

Referenced by DiffusionCoreAgent::filterTimeout(), GradientFilter::gradientTimeout(), GradientFilter::interestTimeout(), GradientFilter::messageTimeout(), DiffusionCoreAgent::neighborsTimeout(), GradientFilter::reinforcementTimeout(), and GradientFilter::subscriptionTimeout().

#define DEBUG_NEVER   11
 

Definition at line 48 of file tools.hh.

#define DEBUG_NO_DETAILS   3
 

Definition at line 53 of file tools.hh.

Referenced by DiffusionCoreAgent::filterTimeout(), GradientFilter::forwardData(), GradientFilter::gradientTimeout(), DiffusionCoreAgent::processControlMessage(), GradientFilter::processNewMessage(), GradientFilter::processOldMessage(), GradientFilter::reinforcementTimeout(), and GradientFilter::sendPositiveReinforcement().

#define DEBUG_SOME_DETAILS   4
 

Definition at line 52 of file tools.hh.

Referenced by DiffusionCoreAgent::processControlMessage(), and DiffusionCoreAgent::timeToStop().


Function Documentation

void DiffPrint int  msg_debug_level,
const char *  fmt,
... 
 

Definition at line 68 of file tools.cc.

References global_debug_level.

Referenced by LearnedCostTable::addEntry(), HeuristicValueTable::addEntry(), DiffusionRouting::addFilter(), AllocateBuffer(), GeoRoutingFilter::beaconTimeout(), CopyAttrs(), NR::createNR(), GradientFilter::deleteGradient(), GradientFilter::deleteRoutingEntry(), DiffusionCoreAgent::DiffusionCoreAgent(), DiffusionRouting::DiffusionRouting(), GeoRoutingFilter::estimateCost(), DiffusionRouting::filterKeepaliveTimeout(), DiffusionCoreAgent::filterTimeout(), GeoRoutingFilter::findNextHop(), GeoRoutingFilter::floodInsideRegion(), GradientFilter::forwardData(), GeoRoutingFilter::GeoRoutingFilter(), TagFilter::getNodeId(), GeoRoutingFilter::getNodeLocation(), GradientFilter::GradientFilter(), GradientFilter::gradientTimeout(), GradientFilter::interestTimeout(), DiffusionRouting::interestTimeout(), IOLog::IOLog(), DiffusionRouting::isPushData(), LogFilter::LogFilter(), GradientFilter::messageTimeout(), GeoRoutingFilter::messageTimeout(), DiffusionCoreAgent::neighborsTimeout(), GeoRoutingFilter::neighborTimeout(), OneWayMatch(), GeoLocation::output(), Region::output(), DiffApp::parseCommandLine(), GeoRoutingFilter::postProcessFilter(), GeoRoutingFilter::preProcessFilter(), GeoRoutingFilter::preProcessMessage(), PrintAttrs(), DiffusionRouting::processControlMessage(), DiffusionCoreAgent::processControlMessage(), TagFilter::ProcessMessage(), SrcRtFilter::ProcessMessage(), LogFilter::ProcessMessage(), GradientFilter::processNewMessage(), GradientFilter::processOldMessage(), DiffusionRouting::publish(), GradientFilter::putHash(), DiffusionCoreAgent::putHash(), TagFilter::recv(), SrcRtFilter::recv(), PushReceiverApp::recv(), PingSenderApp::recv(), PingReceiverApp::recv(), LogFilter::recv(), GradientFilter::recv(), GeoRoutingFilter::recv(), DiffusionCoreAgent::recvMessage(), GradientFilter::reinforcementTimeout(), DiffusionCoreAgent::restoreOriginalHeader(), TagFilter::run(), SrcRtFilter::run(), PushSenderApp::run(), PingSenderApp::run(), LogFilter::run(), GeoRoutingFilter::run(), DiffusionRouting::run(), DiffusionCoreAgent::run(), DiffusionRouting::send(), GradientFilter::sendDisinterest(), DiffusionCoreAgent::sendMessage(), GeoRoutingFilter::sendNeighborRequest(), GradientFilter::sendPositiveReinforcement(), SrcRtFilter::SrcRtFilter(), GeoRoutingFilter::stripOutHeader(), DiffusionRouting::subscribe(), GradientFilter::subscriptionTimeout(), TagFilter::TagFilter(), DiffusionCoreAgent::timeToStop(), UnpackAttrs(), GeoRoutingFilter::updateNeighbor(), DiffusionCoreAgent::usage(), and DiffApp::usage().

00069 {
00070   va_list ap;
00071 
00072   va_start(ap, fmt);
00073 
00074   if (global_debug_level >= msg_debug_level){
00075     // Print message
00076     vfprintf(stderr, fmt, ap);
00077     fflush(NULL);
00078   }
00079 
00080   va_end(ap);
00081 }

int GetRand  ) 
 

Definition at line 59 of file tools.cc.

References Random::random().

Referenced by GeoRoutingFilter::broadcastHeuristicValue(), DiffusionCoreAgent::DiffusionCoreAgent(), DiffusionRouting::DiffusionRouting(), GradientFilter::forwardExploratoryData(), GradientFilter::forwardPushExploratoryData(), GeoRoutingFilter::GeoRoutingFilter(), GradientFilter::GradientFilter(), DiffusionRouting::interestTimeout(), GeoRoutingFilter::preProcessFilter(), GradientFilter::processNewMessage(), EventQueue::randDelay(), GeoRoutingFilter::sendNeighborRequest(), and GradientFilter::sendPositiveReinforcement().

00060 {
00061 #ifdef NS_DIFFUSION
00062   return (Random::random());
00063 #else
00064   return (rand());
00065 #endif // NS_DIFFUSION
00066 }

Here is the call graph for this function:

void GetTime struct timeval *  tv  ) 
 

Definition at line 32 of file tools.cc.

References Scheduler::clock(), and Scheduler::instance().

Referenced by AgentEntry::AgentEntry(), AttributeEntry::AttributeEntry(), GeoRoutingFilter::beaconTimeout(), GeoRoutingFilter::checkNeighbors(), DataNeighborEntry::DataNeighborEntry(), DiffusionCoreAgent::DiffusionCoreAgent(), DiffusionRouting::DiffusionRouting(), DiffusionStats::DiffusionStats(), EventQueue::eqNextTimer(), EventQueue::eqTopInPast(), GeoRoutingFilter::estimateCost(), FilterEntry::FilterEntry(), DiffusionCoreAgent::filterTimeout(), GeoRoutingFilter::findNextHop(), GeoRoutingFilter::floodInsideRegion(), GeoRoutingFilter::GeoRoutingFilter(), GeoRoutingFilter::getNodeLocation(), GradientEntry::GradientEntry(), GradientFilter::GradientFilter(), GradientFilter::gradientTimeout(), HandleEntry::HandleEntry(), GeoRoutingFilter::messageTimeout(), NeighborEntry::NeighborEntry(), DiffusionCoreAgent::neighborsTimeout(), GeoRoutingFilter::neighborTimeout(), GeoRoutingFilter::postProcessFilter(), GeoRoutingFilter::preProcessFilter(), GeoRoutingFilter::preProcessMessage(), DiffusionStats::printStats(), DiffusionCoreAgent::processControlMessage(), GradientFilter::processNewMessage(), PushReceiverApp::recv(), PingReceiverApp::recv(), GeoRoutingFilter::recv(), IOLog::recvPacket(), RoutingEntry::RoutingEntry(), PushSenderApp::run(), PingSenderApp::run(), GeoRoutingFilter::run(), DiffusionRouting::send(), GeoRoutingFilter::sendNeighborRequest(), IOLog::sendPacket(), EventQueue::setDelay(), GeoRoutingFilter::stripOutHeader(), GradientFilter::subscriptionTimeout(), TimerManager::TimerManager(), GradientFilter::updateAgent(), GradientFilter::updateGradient(), GeoRoutingFilter::updateNeighbor(), and DiffusionCoreAgent::updateNeighbors().

00033 {
00034 #ifdef NS_DIFFUSION
00035   double time;
00036   int sec, usec;
00037 
00038   time = Scheduler::instance().clock();
00039   sec = (int) (time * 1000000) / 1000000;
00040   usec = (int) (time * 1000000) % 1000000;
00041   tv->tv_sec = sec;
00042   tv->tv_usec = usec;
00043   //  printf("tv->sec = %d, tv->usec = %d\n", tv->tv_sec, tv->tv_usec);
00044 #else
00045   gettimeofday(tv, NULL);
00046 #endif // NS_DIFFUSION
00047 }

Here is the call graph for this function:

void SetSeed struct timeval *  tv  ) 
 

Definition at line 49 of file tools.cc.

Referenced by DiffusionCoreAgent::DiffusionCoreAgent(), DiffusionRouting::DiffusionRouting(), GeoRoutingFilter::GeoRoutingFilter(), GradientFilter::GradientFilter(), and TimerManager::TimerManager().

00050 {
00051 #ifdef NS_DIFFUSION
00052   // Don't need to do anything since NS's RNG is seeded using
00053   // otcl proc ns-random <seed>
00054 #else
00055   srand(tv->tv_usec);
00056 #endif // NS_DIFFUSION
00057 }


Variable Documentation

int global_debug_level
 

Definition at line 64 of file tools.hh.

Referenced by DiffPrint(), DiffusionCoreAgent::DiffusionCoreAgent(), DiffApp::parseCommandLine(), and DiffusionCoreAgent::timeToStop().


Generated on Tue Apr 20 12:29:58 2004 for NS2.26SourcesOriginal by doxygen 1.3.3