NR Class Reference

#include <nr.hh>

Inheritance diagram for NR:

DiffusionRouting

Detailed Description

Definition at line 365 of file nr.hh.

Public Types

typedef long handle

Public Member Functions

virtual handle publish (NRAttrVec *publication_declarations)=0
virtual int send (handle publication_handle, NRAttrVec *)=0
virtual handle subscribe (NRAttrVec *interest_declarations, NR::Callback *cb)=0
virtual int unpublish (handle publication_handle)=0
virtual int unsubscribe (handle subscription_handle)=0
virtual ~NR ()

Static Public Member Functions

static NRcreateNR (u_int16_t port=0)

Data Structures

class  Callback


Member Typedef Documentation

typedef long NR::handle
 

Definition at line 367 of file nr.hh.


Constructor & Destructor Documentation

virtual NR::~NR  )  [inline, virtual]
 

Definition at line 369 of file nr.hh.

00369 {}


Member Function Documentation

NR * NR::createNR u_int16_t  port = 0  )  [static]
 

Definition at line 149 of file dr.cc.

References DEBUG_ALWAYS, DiffPrint(), and dr.

Referenced by GearReceiverApp::GearReceiverApp(), GearSenderApp::GearSenderApp(), GeoRoutingFilter::GeoRoutingFilter(), GradientFilter::GradientFilter(), LogFilter::LogFilter(), OnePhasePullFilter::OnePhasePullFilter(), OPPPingReceiverApp::OPPPingReceiverApp(), OPPPingSenderApp::OPPPingSenderApp(), PushReceiverApp::PushReceiverApp(), PushSenderApp::PushSenderApp(), RmstFilter::RmstFilter(), RmstSink::RmstSink(), RmstSource::RmstSource(), SrcRtFilter::SrcRtFilter(), TagFilter::TagFilter(), TPPPingReceiverApp::TPPPingReceiverApp(), and TPPPingSenderApp::TPPPingSenderApp().

00150 {
00151   // Create Diffusion Routing Class
00152   if (dr)
00153     return dr;
00154 
00155   dr = new DiffusionRouting(port);
00156 
00157 #ifdef USE_THREADS
00158   int retval;
00159   pthread_t thread;
00160 
00161   // Fork a thread for receiving Messages
00162   retval = pthread_create(&thread, NULL, &ReceiveThread, (void *)dr);
00163 
00164   if (retval){
00165     DiffPrint(DEBUG_ALWAYS, "Error creating receiving thread ! Aborting...\n");
00166     exit(-1);
00167   }
00168 #endif // USE_THREADS
00169 
00170   return dr;
00171 }

Here is the call graph for this function:

virtual handle NR::publish NRAttrVec publication_declarations  )  [pure virtual]
 

Implemented in DiffusionRouting.

Referenced by PushSenderApp::setupPublication(), GearSenderApp::setupPublication(), TPPPingSenderApp::setupPublication(), OPPPingSenderApp::setupPublication(), and RmstSource::setupRmstPublication().

virtual int NR::send handle  publication_handle,
NRAttrVec
[pure virtual]
 

Referenced by PushSenderApp::run(), GearSenderApp::run(), TPPPingSenderApp::run(), and OPPPingSenderApp::run().

virtual handle NR::subscribe NRAttrVec interest_declarations,
NR::Callback cb
[pure virtual]
 

Implemented in DiffusionRouting.

Referenced by RmstSink::setupInterest(), RmstSource::setupRmstInterest(), PushReceiverApp::setupSubscription(), GearSenderApp::setupSubscription(), GearReceiverApp::setupSubscription(), TPPPingSenderApp::setupSubscription(), TPPPingReceiverApp::setupSubscription(), OPPPingSenderApp::setupSubscription(), and OPPPingReceiverApp::setupSubscription().

virtual int NR::unpublish handle  publication_handle  )  [pure virtual]
 

virtual int NR::unsubscribe handle  subscription_handle  )  [pure virtual]
 


The documentation for this class was generated from the following files:
Generated on Tue Mar 6 17:23:00 2007 for ns2 Network Simulator 2.29 by  doxygen 1.4.6