33 #include "ns3/simulator.h"
40 Ptr<RemoteChannelBundle>
65 return remoteChannelBundle;
84 bundle->Send (bundle->GetDelay ());
103 safeTime =
Min (safeTime, kv->second->GetGuaranteeTime ());
static NullMessageSimulatorImpl * GetInstance(void)
void ScheduleNullMessageEvent(Ptr< RemoteChannelBundle > bundle)
Smart pointer class similar to boost::intrusive_ptr.
static Ptr< RemoteChannelBundle > Find(uint32_t systemId)
Get the bundle corresponding to a remote rank.
static std::size_t Size(void)
Get the number of ns-3 channels in this bundle.
static RemoteChannelMap g_remoteChannelBundles
The remote channel bundles.
static void InitializeNullMessageEvents(void)
Setup initial Null Message events for every RemoteChannelBundle.
static Ptr< RemoteChannelBundle > Add(uint32_t systemId)
Add RemoteChannelBundle from this task to MPI task on other side of the link.
std::unordered_map< uint32_t, Ptr< RemoteChannelBundle > > RemoteChannelMap
Container for all remote channel bundles for this task.
static Time GetSafeTime(void)
Get the safe time across all channels in this bundle.
static void Destroy(void)
Destroy the singleton.
static bool g_initialized
Protect manager class from being initialized twice or incorrect ordering of method calls.
static Time GetMaximumSimulationTime(void)
Get the maximum representable simulation time.
Simulation virtual time values and global simulation resolution.
#define NS_ASSERT(condition)
At runtime, in debugging builds, if this condition is not true, the program prints the source file,...
int64x64_t Min(const int64x64_t &a, const int64x64_t &b)
Minimum.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
Declaration of class ns3::NullMessageSimulatorImpl.
Declaration of class ns3::RemoteChannelBundleManager.
Declaration of class ns3::RemoteChannelBundle.