22 #ifndef BSM_APPLICATION_H 23 #define BSM_APPLICATION_H 25 #include "ns3/application.h" 26 #include "ns3/wave-bsm-stats.h" 27 #include "ns3/random-variable-stream.h" 28 #include "ns3/internet-stack-helper.h" 78 uint32_t wavePacketSize,
81 std::vector <double> rangesSq,
83 std::vector<int> * nodesMoving,
122 uint32_t pktCount,
Time pktInterval,
123 uint32_t sendingNodeId);
Simulation virtual time values and global simulation resolution.
Smart pointer class similar to boost::intrusive_ptr.
Ipv4InterfaceContainer * m_adhocTxInterfaces
transmit interfaces
holds a vector of std::pair of Ptr<Ipv4> and interface index.
Ptr< UniformRandomVariable > m_unirv
random variable
uint32_t m_wavePacketSize
bytes
int64_t AssignStreams(int64_t streamIndex)
Assign a fixed random variable stream number to the random variables used by this model...
void Setup(Ipv4InterfaceContainer &i, int nodeId, Time totalTime, uint32_t wavePacketSize, Time waveInterval, double gpsAccuracyNs, std::vector< double > rangesSq, Ptr< WaveBsmStats > waveBsmStats, std::vector< int > *nodesMoving, int mode, Time txDelay)
Setup BSM generation parameters for a node.
BsmApplication()
Constructor.
std::vector< double > m_txSafetyRangesSq
tx safety range squared, for optimization
Time m_waveInterval
wave interval
virtual void StartApplication(void)
Called at time specified by Start.
Time m_txMaxDelay
When transmitting at a default rate of 10 Hz, the subsystem shall transmit every 100 ms +/- a random ...
uint32_t m_numWavePackets
number of wave packets
Time m_prevTxDelay
previous transmit delay
virtual void DoDispose(void)
Destructor implementation.
virtual ~BsmApplication()
double m_gpsAccuracyNs
GPS accuracy.
The base class for all ns3 applications.
virtual void StopApplication(void)
Called at time specified by Stop.
The BsmApplication class sends and receives the IEEE 1609 WAVE (Wireless Access in Vehicular Environm...
void GenerateWaveTraffic(Ptr< Socket > socket, uint32_t pktSize, uint32_t pktCount, Time pktInterval, uint32_t sendingNodeId)
Creates and transmits a WAVE BSM packet.
Ptr< Node > GetNode() const
Ptr< WaveBsmStats > m_waveBsmStats
BSM stats.
void HandleReceivedBsmPacket(Ptr< Node > txNode, Ptr< Node > rxNode)
Handle the receipt of a WAVE BSM packet from sender to receiver.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
Ptr< NetDevice > GetNetDevice(int id)
Get the net device for the desired id.
static int wavePort
(Arbitrary) port number that is used to create a socket for transmitting WAVE BSMs.
Time m_TotalSimTime
total sim time
std::vector< int > * m_nodesMoving
nodes moving
void ReceiveWavePacket(Ptr< Socket > socket)
Receive a WAVE BSM packet.
static TypeId GetTypeId(void)
Get the type ID.
int m_chAccessMode
WAVE channel access mode. 0=continuous PHY; 1=channel-switching.
a unique identifier for an interface.