A Discrete-Event Network Simulator
API
ns3::RemoteChannelBundleManager Class Reference

#include "remote-channel-bundle-manager.h"

+ Collaboration diagram for ns3::RemoteChannelBundleManager:

Static Public Member Functions

static Ptr< RemoteChannelBundleAdd (uint32_t systemId)
 Add RemoteChannelBundle from this task to MPI task on other side of the link. More...
 
static void Destroy (void)
 Destroy the singleton. More...
 
static Ptr< RemoteChannelBundleFind (uint32_t systemId)
 
static Time GetSafeTime (void)
 
static void InitializeNullMessageEvents (void)
 Setup initial Null Message events for every RemoteChannelBundle. More...
 
static std::size_t Size (void)
 

Private Types

typedef std::map< uint32_t, Ptr< RemoteChannelBundle > > RemoteChannelMap
 

Private Member Functions

 RemoteChannelBundleManager ()
 Private ctor to prevent creation outside of singleton pattern. More...
 
 ~RemoteChannelBundleManager ()
 

Static Private Attributes

static bool g_initialized = false
 
static RemoteChannelMap g_remoteChannelBundles
 

Detailed Description

Definition at line 40 of file remote-channel-bundle-manager.h.

Member Typedef Documentation

◆ RemoteChannelMap

Definition at line 95 of file remote-channel-bundle-manager.h.

Constructor & Destructor Documentation

◆ RemoteChannelBundleManager()

ns3::RemoteChannelBundleManager::RemoteChannelBundleManager ( )
inlineprivate

Private ctor to prevent creation outside of singleton pattern.

Definition at line 82 of file remote-channel-bundle-manager.h.

◆ ~RemoteChannelBundleManager()

ns3::RemoteChannelBundleManager::~RemoteChannelBundleManager ( )
inlineprivate

Definition at line 86 of file remote-channel-bundle-manager.h.

Member Function Documentation

◆ Add()

Ptr< RemoteChannelBundle > ns3::RemoteChannelBundleManager::Add ( uint32_t  systemId)
static

Add RemoteChannelBundle from this task to MPI task on other side of the link.

Can not be invoked after InitializeNullMessageEvents has been invoked.

Definition at line 50 of file remote-channel-bundle-manager.cc.

References g_initialized, g_remoteChannelBundles, and NS_ASSERT.

Referenced by ns3::NullMessageSimulatorImpl::CalculateLookAhead().

+ Here is the caller graph for this function:

◆ Destroy()

void ns3::RemoteChannelBundleManager::Destroy ( void  )
static

Destroy the singleton.

Definition at line 104 of file remote-channel-bundle-manager.cc.

References g_initialized, g_remoteChannelBundles, and NS_ASSERT.

Referenced by ns3::NullMessageSimulatorImpl::Destroy().

+ Here is the caller graph for this function:

◆ Find()

Ptr< RemoteChannelBundle > ns3::RemoteChannelBundleManager::Find ( uint32_t  systemId)
static

◆ GetSafeTime()

Time ns3::RemoteChannelBundleManager::GetSafeTime ( void  )
static
Returns
safe time across all remote channels.

Definition at line 87 of file remote-channel-bundle-manager.cc.

References g_initialized, g_remoteChannelBundles, ns3::Simulator::GetMaximumSimulationTime(), ns3::Min(), and NS_ASSERT.

Referenced by ns3::NullMessageSimulatorImpl::CalculateSafeTime().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ InitializeNullMessageEvents()

void ns3::RemoteChannelBundleManager::InitializeNullMessageEvents ( void  )
static

Setup initial Null Message events for every RemoteChannelBundle.

All RemoteChannelBundles should be added before this method is invoked.

Definition at line 69 of file remote-channel-bundle-manager.cc.

References g_initialized, g_remoteChannelBundles, ns3::NullMessageSimulatorImpl::GetInstance(), NS_ASSERT, and ns3::NullMessageSimulatorImpl::ScheduleNullMessageEvent().

Referenced by ns3::NullMessageSimulatorImpl::Run().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ Size()

std::size_t ns3::RemoteChannelBundleManager::Size ( void  )
static
Returns
number of remote channel bundles

Definition at line 63 of file remote-channel-bundle-manager.cc.

References g_remoteChannelBundles.

Referenced by ns3::NullMessageMpiInterface::InitializeSendReceiveBuffers().

+ Here is the caller graph for this function:

Member Data Documentation

◆ g_initialized

bool ns3::RemoteChannelBundleManager::g_initialized = false
staticprivate

◆ g_remoteChannelBundles

ns3::RemoteChannelBundleManager::RemoteChannelMap ns3::RemoteChannelBundleManager::g_remoteChannelBundles
staticprivate

The documentation for this class was generated from the following files: