a polymophic address class
An identifier for simulation events.
A base class which provides memory management and object aggregation.
the organization identifier is a public organizationally unique identifier assigned by the IEEE.
Simulation virtual time values and global simulation resolution.
a unique identifier for an interface.
refer to 1609.4-2010 chapter 6.4 Vendor Specific Action (VSA) frames transmission.
void DoInitialize(void)
Initialize() implementation.
void SetWaveVsaCallback(Callback< bool, Ptr< const Packet >, const Address &, uint32_t, uint32_t > vsaCallback)
Set wave vsa callback function.
void DoDispose(void)
Destructor implementation.
void DoSendVsa(enum VsaTransmitInterval interval, uint32_t channel, Ptr< Packet > vsc, OrganizationIdentifier oi, Mac48Address peer)
Ptr< WaveNetDevice > m_device
the device
static const uint32_t VSA_REPEAT_PERIOD
A number of VSA frames will be transmitted repeatedly during the period of 5s.
void DoRepeat(VsaWork *vsa)
bool ReceiveVsc(Ptr< WifiMac > mac, const OrganizationIdentifier &oi, Ptr< const Packet > vsc, const Address &src)
void SetWaveNetDevice(Ptr< WaveNetDevice > device)
static TypeId GetTypeId(void)
Get the type ID.
void RemoveAll(void)
cancel all VSA transmissions
void RemoveByChannel(uint32_t channelNumber)
virtual ~VsaManager(void)
void RemoveByOrganizationIdentifier(const OrganizationIdentifier &oi)
Callback< bool, Ptr< const Packet >, const Address &, uint32_t, uint32_t > m_vsaReceived
VSA received callback.
std::vector< VsaWork * > m_vsas
VSAs.
void SendVsa(const VsaInfo &vsaInfo)
VsaTransmitInterval
indicate which interval the VSA frames will be transmitted in.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
uint8_t managementId
management ID
uint32_t channelNumber
channel number
enum VsaTransmitInterval sendInterval
send interval
uint8_t repeatRate
repeat rate
OrganizationIdentifier oi
OI.
VsaInfo(Mac48Address peer, OrganizationIdentifier identifier, uint8_t manageId, Ptr< Packet > vscPacket, uint32_t channel, uint8_t repeat, enum VsaTransmitInterval interval)
Initializer.
Time repeatPeriod
repeat period
OrganizationIdentifier oi
OI.
uint32_t channelNumber
channel number
enum VsaTransmitInterval sentInterval
VSA transmit interval.