21 #include "ns3/wave-bsm-helper.h"
68 std::pair<Ptr<Ipv4>, uint32_t>
interface = (*itr);
89 uint32_t wavePacketSize,
92 std::vector<double> ranges,
96 int size = ranges.size();
99 for (
int index = 0; index < size; index++)
110 bsmApps.
Stop(totalTime);
115 for (aci = bsmApps.
Begin(); aci != bsmApps.
End(); ++aci)
142 int64_t currentStream = stream;
152 currentStream += bsmApp->AssignStreams(currentStream);
156 return (currentStream - stream);
holds a vector of ns3::Application pointers.
Iterator Begin() const
Get an iterator which refers to the first Application in the container.
Iterator End() const
Get an iterator which indicates past-the-last Application in the container.
void Start(Time start) const
Start all of the Applications in this container at the start time given as a parameter.
std::vector< Ptr< Application > >::const_iterator Iterator
Application container iterator.
void Stop(Time stop) const
Arrange for all of the Applications in this container to Stop() at the Time given as a parameter.
void Add(ApplicationContainer other)
Append the contents of another ApplicationContainer to the end of this container.
The base class for all ns3 applications.
Hold a value for an Attribute.
holds a vector of std::pair of Ptr<Ipv4> and interface index.
Iterator End() const
Get an iterator which indicates past-the-last Node in the container.
std::vector< std::pair< Ptr< Ipv4 >, uint32_t > >::const_iterator Iterator
Container Const Iterator for pairs of Ipv4 smart pointer / Interface Index.
Iterator Begin() const
Get an iterator which refers to the first pair in the container.
keep track of a set of node pointers.
Iterator End() const
Get an iterator which indicates past-the-last Node in the container.
std::vector< Ptr< Node > >::const_iterator Iterator
Node container iterator.
Iterator Begin() const
Get an iterator which refers to the first Node in the container.
uint32_t GetNApplications() const
Ptr< Application > GetApplication(uint32_t index) const
Retrieve the index-th Application associated to this node.
uint32_t AddApplication(Ptr< Application > application)
Associate an Application to this Node.
Ptr< Object > Create() const
Create an Object instance of the configured TypeId.
void Set(const std::string &name, const AttributeValue &value, Args &&... args)
Set an attribute to be set during construction.
void SetTypeId(TypeId tid)
Set the TypeId of the Objects to be created by this factory.
Ptr< T > GetObject() const
Get a pointer to the requested aggregated Object.
Simulation virtual time values and global simulation resolution.
ApplicationContainer Install(Ipv4InterfaceContainer i) const
Install an ns3::BsmApplication on each node of the input container configured with all the attributes...
static std::vector< int > nodesMoving
nodes moving
Ptr< Application > InstallPriv(Ptr< Node > node) const
Install an ns3::BsmApplication on the node.
std::vector< double > m_txSafetyRangesSq
tx safety range squared, for optimization
WaveBsmStats m_waveBsmStats
wave BSM stats
static std::vector< int > & GetNodesMoving()
Returns the list of moving nove indicators.
void SetAttribute(std::string name, const AttributeValue &value)
Helper function used to set the underlying application attributes.
ObjectFactory m_factory
Object factory.
Ptr< WaveBsmStats > GetWaveBsmStats()
Returns the WaveBsmStats instance.
WaveBsmHelper()
Constructor.
int64_t AssignStreams(NodeContainer c, int64_t stream)
Assign a fixed random variable stream number to the random variables used by this model.
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name.
Time Seconds(double value)
Construct a Time in the indicated unit.
Every class exported by the ns3 library is enclosed in the ns3 namespace.