802.11s Peer Management Protocol model More...
#include "peer-management-protocol.h"
Classes | |
struct | BeaconInfo |
Keeps information about beacon of peer station: beacon interval, association ID, last time we have received a beacon. More... | |
struct | Statistics |
Public Types | |
typedef void(* | LinkOpenCloseTracedCallback) (Mac48Address src, const Mac48Address dst) |
TracedCallback signature for link open/close events. More... | |
Public Member Functions | |
PeerManagementProtocol () | |
~PeerManagementProtocol () | |
int64_t | AssignStreams (int64_t stream) |
Assign a fixed random variable stream number to the random variables used by this model. More... | |
void | DoDispose () |
Destructor implementation. More... | |
bool | Install (Ptr< MeshPointDevice >) |
Install PMP on given mesh point. More... | |
void | Report (std::ostream &) const |
: Report statistics More... | |
void | ResetStats () |
This methods interact with MAC_layer plug-in | |
Methods that handle beacon sending/receiving procedure. | |
Ptr< IeBeaconTiming > | GetBeaconTimingElement (uint32_t interface) |
When we are sending a beacon - we fill beacon timing element. More... | |
void | ReceiveBeacon (uint32_t interface, Mac48Address peerAddress, Time beaconInterval, Ptr< IeBeaconTiming > beaconTiming) |
To initiate peer link we must notify about received beacon. More... | |
void | ReceivePeerLinkFrame (uint32_t interface, Mac48Address peerAddress, Mac48Address peerMeshPointAddress, uint16_t aid, IePeerManagement peerManagementElement, IeConfiguration meshConfig) |
Methods that handle Peer link management frames interaction: More... | |
void | ConfigurationMismatch (uint32_t interface, Mac48Address peerAddress) |
Cancels peer link due to broken configuration (Mesh ID or Supported rates) More... | |
void | TransmissionFailure (uint32_t interface, const Mac48Address peerAddress) |
Cancels peer link due to successive transmission failures. More... | |
void | TransmissionSuccess (uint32_t interface, const Mac48Address peerAddress) |
resets transmission failure statistics More... | |
bool | IsActiveLink (uint32_t interface, Mac48Address peerAddress) |
Checks if there is established link. More... | |
Interface to other protocols (MLME) | |
void | SetPeerLinkStatusCallback (Callback< void, Mac48Address, Mac48Address, uint32_t, bool > cb) |
Set peer link status change callback. More... | |
Ptr< PeerLink > | FindPeerLink (uint32_t interface, Mac48Address peerAddress) |
Find active peer link by my interface and peer interface MAC. More... | |
std::vector< Ptr< PeerLink > > | GetPeerLinks () const |
Get list of all active peer links. More... | |
std::vector< Mac48Address > | GetPeers (uint32_t interface) const |
Get list of active peers of my given interface. More... | |
Mac48Address | GetAddress () |
Get mesh point address. More... | |
uint8_t | GetNumberOfLinks () |
Set peer link status change callback. More... | |
void | SetMeshId (std::string s) |
Set peer link status change callback. More... | |
Ptr< IeMeshId > | GetMeshId () const |
Set peer link status change callback. More... | |
void | SetBeaconCollisionAvoidance (bool enable) |
Enable or disable beacon collision avoidance. More... | |
bool | GetBeaconCollisionAvoidance () const |
Set peer link status change callback. More... | |
void | NotifyBeaconSent (uint32_t interface, Time beaconInterval) |
Notify about beacon send event, needed to schedule BCA. More... | |
![]() | |
Object () | |
Constructor. More... | |
virtual | ~Object () |
Destructor. More... | |
void | AggregateObject (Ptr< Object > other) |
Aggregate two Objects together. More... | |
void | Dispose (void) |
Dispose of this Object. More... | |
AggregateIterator | GetAggregateIterator (void) const |
Get an iterator to the Objects aggregated to this one. More... | |
virtual TypeId | GetInstanceTypeId (void) const |
Implement the GetInstanceTypeId method defined in ObjectBase. More... | |
template<typename T > | |
Ptr< T > | GetObject (void) const |
Get a pointer to the requested aggregated Object. More... | |
template<typename T > | |
Ptr< T > | GetObject (TypeId tid) const |
Get a pointer to the requested aggregated Object by TypeId. More... | |
void | Initialize (void) |
Invoke DoInitialize on all Objects aggregated to this one. More... | |
bool | IsInitialized (void) const |
Check if the object has been initialized. More... | |
![]() | |
SimpleRefCount () | |
Constructor. More... | |
SimpleRefCount (const SimpleRefCount &o) | |
Copy constructor. More... | |
uint32_t | GetReferenceCount (void) const |
Get the reference count of the object. More... | |
SimpleRefCount & | operator= (const SimpleRefCount &o) |
Assignment. More... | |
void | Ref (void) const |
Increment the reference count. More... | |
void | Unref (void) const |
Decrement the reference count. More... | |
![]() | |
virtual | ~ObjectBase () |
Virtual destructor. More... | |
void | GetAttribute (std::string name, AttributeValue &value) const |
Get the value of an attribute, raising fatal errors if unsuccessful. More... | |
bool | GetAttributeFailSafe (std::string name, AttributeValue &value) const |
Get the value of an attribute without raising erros. More... | |
void | SetAttribute (std::string name, const AttributeValue &value) |
Set a single attribute, raising fatal errors if unsuccessful. More... | |
bool | SetAttributeFailSafe (std::string name, const AttributeValue &value) |
Set a single attribute without raising errors. More... | |
bool | TraceConnect (std::string name, std::string context, const CallbackBase &cb) |
Connect a TraceSource to a Callback with a context. More... | |
bool | TraceConnectWithoutContext (std::string name, const CallbackBase &cb) |
Connect a TraceSource to a Callback without a context. More... | |
bool | TraceDisconnect (std::string name, std::string context, const CallbackBase &cb) |
Disconnect from a TraceSource a Callback previously connected with a context. More... | |
bool | TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb) |
Disconnect from a TraceSource a Callback previously connected without a context. More... | |
Static Public Member Functions | |
static TypeId | GetTypeId () |
![]() | |
static TypeId | GetTypeId (void) |
Register this type. More... | |
![]() | |
static void | Cleanup (void) |
Noop. More... | |
![]() | |
static TypeId | GetTypeId (void) |
Get the type ID. More... | |
Private Types | |
typedef std::map< uint32_t, BeaconsOnInterface > | BeaconInfoMap |
This map keeps beacon information on all interfaces. More... | |
typedef std::map< Mac48Address, BeaconInfo > | BeaconsOnInterface |
This map keeps relationship between peer address and its beacon information. More... | |
typedef TracedCallback< Mac48Address, Mac48Address > | LinkEventCallback |
Simple link open/close trace source type. Addresses are: src interface, dst interface. More... | |
typedef std::map< uint32_t, PeerLinksOnInterface > | PeerLinksMap |
This map keeps all peer links. More... | |
typedef std::vector< Ptr< PeerLink > > | PeerLinksOnInterface |
We keep a vector of pointers to PeerLink class. More... | |
typedef std::map< uint32_t, Ptr< PeerManagementProtocolMac > > | PeerManagementProtocolMacMap |
this vector keeps pointers to MAC-plugins More... | |
Private Member Functions | |
PeerManagementProtocol (const PeerManagementProtocol &) | |
void | CheckBeaconCollisions (uint32_t interface) |
BCA. More... | |
virtual void | DoInitialize () |
Initialize() implementation. More... | |
Ptr< PeerLink > | InitiateLink (uint32_t interface, Mac48Address peerAddress, Mac48Address peerMeshPointAddress) |
void | NotifyLinkClose (Mac48Address peerMp, Mac48Address peerIface, Mac48Address myIface, uint32_t interface) |
Aux. method to register closed links. More... | |
void | NotifyLinkOpen (Mac48Address peerMp, Mac48Address peerIface, Mac48Address myIface, uint32_t interface) |
Aux. method to register open links. More... | |
PeerManagementProtocol & | operator= (const PeerManagementProtocol &) |
void | PeerLinkStatus (uint32_t interface, Mac48Address peerAddress, Mac48Address peerMeshPointAddres, PeerLink::PeerState ostate, PeerLink::PeerState nstate) |
Indicates changes in peer links. More... | |
void | ShiftOwnBeacon (uint32_t interface) |
External peer-chooser | |
bool | ShouldSendOpen (uint32_t interface, Mac48Address peerAddress) |
bool | ShouldAcceptOpen (uint32_t interface, Mac48Address peerAddress, PmpReasonCode &reasonCode) |
Time<-->TU converters: | |
Time | TuToTime (int x) |
int | TimeToTu (Time x) |
Private Attributes | |
Mac48Address | m_address |
std::map< uint32_t, Time > | m_beaconInterval |
Beacon interval at each interface. More... | |
Ptr< UniformRandomVariable > | m_beaconShift |
Add randomness to beacon shift. More... | |
bool | m_enableBca |
Flag which enables BCA. More... | |
uint16_t | m_lastAssocId |
std::map< uint32_t, Time > | m_lastBeacon |
Last beacon at each interface. More... | |
uint16_t | m_lastLocalLinkId |
LinkEventCallback | m_linkCloseTraceSrc |
LinkClose trace source. More... | |
LinkEventCallback | m_linkOpenTraceSrc |
LinkOpen trace source. More... | |
uint16_t | m_maxBeaconShift |
Beacon can be shifted at [-m_maxBeaconShift; +m_maxBeaconShift] TUs. More... | |
uint8_t | m_maxNumberOfPeerLinks |
Ptr< IeMeshId > | m_meshId |
Callback< void, Mac48Address, Mac48Address, uint32_t, bool > | m_peerStatusCallback |
Callback to notify about peer link changes: Mac48Address is peer address of mesh point, Mac48Address is peer address of interface, uint32_t - interface ID, bool is status - true when new link has appeared, false - when link was closed,. More... | |
PeerManagementProtocolMacMap | m_plugins |
Peer Links | |
PeerLinksMap | m_peerLinks |
Statistics: | |
struct Statistics | m_stats |
Additional Inherited Members | |
![]() | |
Object (const Object &o) | |
Copy an Object. More... | |
virtual void | NotifyNewAggregate (void) |
Notify all Objects aggregated to this one of a new Object being aggregated. More... | |
![]() | |
void | ConstructSelf (const AttributeConstructionList &attributes) |
Complete construction of ObjectBase; invoked by derived classes. More... | |
virtual void | NotifyConstructionCompleted (void) |
Notifier called once the ObjectBase is fully constructed. More... | |
![]() | |
static TypeId | GetObjectIid (void) |
Ensure the TypeId for ObjectBase gets fully configured to anchor the inheritance tree properly. More... | |
802.11s Peer Management Protocol model
Introspection did not find any typical Config paths.
Size of this type is 304 bytes (on a 64-bit architecture).
Definition at line 49 of file peer-management-protocol.h.
|
private |
This map keeps beacon information on all interfaces.
Definition at line 195 of file peer-management-protocol.h.
|
private |
This map keeps relationship between peer address and its beacon information.
Definition at line 193 of file peer-management-protocol.h.
|
private |
Simple link open/close trace source type. Addresses are: src interface, dst interface.
Definition at line 269 of file peer-management-protocol.h.
typedef void(* ns3::dot11s::PeerManagementProtocol::LinkOpenCloseTracedCallback) (Mac48Address src, const Mac48Address dst) |
TracedCallback signature for link open/close events.
[in] | src | MAC address of source interface. |
[in] | dst | MAC address of destination interface. |
Definition at line 173 of file peer-management-protocol.h.
|
private |
This map keeps all peer links.
Definition at line 191 of file peer-management-protocol.h.
|
private |
We keep a vector of pointers to PeerLink class.
This vector keeps all peer links at a given interface.
Definition at line 189 of file peer-management-protocol.h.
|
private |
this vector keeps pointers to MAC-plugins
Definition at line 197 of file peer-management-protocol.h.
ns3::dot11s::PeerManagementProtocol::PeerManagementProtocol | ( | ) |
Definition at line 91 of file peer-management-protocol.cc.
References m_beaconShift.
ns3::dot11s::PeerManagementProtocol::~PeerManagementProtocol | ( | ) |
Definition at line 96 of file peer-management-protocol.cc.
References m_meshId.
|
private |
int64_t ns3::dot11s::PeerManagementProtocol::AssignStreams | ( | int64_t | stream | ) |
Assign a fixed random variable stream number to the random variables used by this model.
Return the number of streams (possibly zero) that have been assigned.
stream | first stream index to use |
Definition at line 588 of file peer-management-protocol.cc.
References m_beaconShift, NS_LOG_FUNCTION, and ns3::RandomVariableStream::SetStream().
|
private |
BCA.
Definition at line 384 of file peer-management-protocol.cc.
References GetBeaconCollisionAvoidance(), m_beaconInterval, m_lastBeacon, m_maxBeaconShift, m_peerLinks, m_plugins, NS_ASSERT, NS_ASSERT_MSG, ShiftOwnBeacon(), TimeToTu(), and TuToTime().
Referenced by NotifyBeaconSent().
void ns3::dot11s::PeerManagementProtocol::ConfigurationMismatch | ( | uint32_t | interface, |
Mac48Address | peerAddress | ||
) |
Cancels peer link due to broken configuration (Mesh ID or Supported rates)
Definition at line 241 of file peer-management-protocol.cc.
References FindPeerLink(), and ns3::dot11s::REASON11S_MESH_CAPABILITY_POLICY_VIOLATION.
|
virtual |
Destructor implementation.
This method is called by Dispose() or by the Object's destructor, whichever comes first.
Subclasses are expected to implement their real destruction code in an overriden version of this method and chain up to their parent's implementation once they are done. i.e, for simplicity, the destructor of every subclass should be empty and its content should be moved to the associated DoDispose() method.
It is safe to call GetObject() from within this method.
Reimplemented from ns3::Object.
Definition at line 101 of file peer-management-protocol.cc.
References m_peerLinks, and m_plugins.
|
privatevirtual |
Initialize() implementation.
This method is called only once by Initialize(). If the user calls Initialize() multiple times, DoInitialize() is called only the first time.
Subclasses are expected to override this method and chain up to their parent's implementation once they are done. It is safe to call GetObject() and AggregateObject() from within this method.
Reimplemented from ns3::Object.
Definition at line 596 of file peer-management-protocol.cc.
References m_beaconShift, m_maxBeaconShift, and ns3::ObjectBase::SetAttribute().
Ptr< PeerLink > ns3::dot11s::PeerManagementProtocol::FindPeerLink | ( | uint32_t | interface, |
Mac48Address | peerAddress | ||
) |
Find active peer link by my interface and peer interface MAC.
Definition at line 296 of file peer-management-protocol.cc.
References m_peerLinks, and NS_ASSERT.
Referenced by ConfigurationMismatch(), InitiateLink(), IsActiveLink(), PeerLinkStatus(), ReceiveBeacon(), ReceivePeerLinkFrame(), TransmissionFailure(), and TransmissionSuccess().
Mac48Address ns3::dot11s::PeerManagementProtocol::GetAddress | ( | void | ) |
Get mesh point address.
Definition at line 535 of file peer-management-protocol.cc.
References m_address.
Referenced by TransmissionFailure(), and TransmissionSuccess().
bool ns3::dot11s::PeerManagementProtocol::GetBeaconCollisionAvoidance | ( | ) | const |
Set peer link status change callback.
Definition at line 611 of file peer-management-protocol.cc.
References m_enableBca.
Referenced by CheckBeaconCollisions(), GetBeaconTimingElement(), GetTypeId(), and ReceiveBeacon().
Ptr< IeBeaconTiming > ns3::dot11s::PeerManagementProtocol::GetBeaconTimingElement | ( | uint32_t | interface | ) |
When we are sending a beacon - we fill beacon timing element.
interface | is a interface sending a beacon |
Definition at line 146 of file peer-management-protocol.cc.
References GetBeaconCollisionAvoidance(), m_peerLinks, NS_ASSERT, and ns3::Seconds().
Set peer link status change callback.
Definition at line 524 of file peer-management-protocol.cc.
uint8_t ns3::dot11s::PeerManagementProtocol::GetNumberOfLinks | ( | ) |
Set peer link status change callback.
Definition at line 519 of file peer-management-protocol.cc.
References ns3::dot11s::PeerManagementProtocol::Statistics::linksTotal, and m_stats.
Get list of all active peer links.
Definition at line 342 of file peer-management-protocol.cc.
References m_peerLinks.
std::vector< Mac48Address > ns3::dot11s::PeerManagementProtocol::GetPeers | ( | uint32_t | interface | ) | const |
Get list of active peers of my given interface.
Definition at line 326 of file peer-management-protocol.cc.
References m_peerLinks, and NS_ASSERT.
Referenced by ns3::Dot11sStack::InstallStack().
|
static |
Definition at line 48 of file peer-management-protocol.cc.
References GetBeaconCollisionAvoidance(), m_linkCloseTraceSrc, m_linkOpenTraceSrc, m_maxBeaconShift, m_maxNumberOfPeerLinks, ns3::MakeBooleanAccessor(), ns3::MakeBooleanChecker(), ns3::MakeTraceSourceAccessor(), ns3::MakeUintegerAccessor(), SetBeaconCollisionAvoidance(), and ns3::TypeId::SetParent().
|
private |
Definition at line 270 of file peer-management-protocol.cc.
References FindPeerLink(), m_lastAssocId, m_lastLocalLinkId, m_peerLinks, m_plugins, ns3::MakeCallback(), NS_ASSERT, NS_FATAL_ERROR, and PeerLinkStatus().
Referenced by ReceiveBeacon(), and ReceivePeerLinkFrame().
bool ns3::dot11s::PeerManagementProtocol::Install | ( | Ptr< MeshPointDevice > | mp | ) |
Install PMP on given mesh point.
Installing protocol cause installing its interface MAC plugins.
Also MP aggregates all installed protocols, PMP protocol can be accessed via MeshPointDevice::GetObject<PeerManagementProtocol>();
Definition at line 118 of file peer-management-protocol.cc.
References ns3::Mac48Address::ConvertFrom(), first::interfaces, m_address, m_peerLinks, m_plugins, and third::mac.
bool ns3::dot11s::PeerManagementProtocol::IsActiveLink | ( | uint32_t | interface, |
Mac48Address | peerAddress | ||
) |
Checks if there is established link.
Definition at line 356 of file peer-management-protocol.cc.
References FindPeerLink().
void ns3::dot11s::PeerManagementProtocol::NotifyBeaconSent | ( | uint32_t | interface, |
Time | beaconInterval | ||
) |
Notify about beacon send event, needed to schedule BCA.
Definition at line 540 of file peer-management-protocol.cc.
References CheckBeaconCollisions(), m_beaconInterval, m_lastBeacon, m_maxBeaconShift, ns3::Simulator::Now(), ns3::Simulator::Schedule(), and TuToTime().
|
private |
Aux. method to register closed links.
Definition at line 483 of file peer-management-protocol.cc.
References ns3::dot11s::PeerManagementProtocol::Statistics::linksClosed, ns3::dot11s::PeerManagementProtocol::Statistics::linksTotal, m_linkCloseTraceSrc, m_peerStatusCallback, m_stats, and NS_LOG_LOGIC.
|
private |
Aux. method to register open links.
Definition at line 470 of file peer-management-protocol.cc.
References ns3::dot11s::PeerManagementProtocol::Statistics::linksOpened, ns3::dot11s::PeerManagementProtocol::Statistics::linksTotal, m_linkOpenTraceSrc, m_peerStatusCallback, m_stats, and NS_LOG_LOGIC.
|
private |
|
private |
Indicates changes in peer links.
Definition at line 496 of file peer-management-protocol.cc.
References FindPeerLink(), m_address, m_plugins, NS_ASSERT, and NS_LOG_DEBUG.
Referenced by InitiateLink().
void ns3::dot11s::PeerManagementProtocol::ReceiveBeacon | ( | uint32_t | interface, |
Mac48Address | peerAddress, | ||
Time | beaconInterval, | ||
Ptr< IeBeaconTiming > | beaconTiming | ||
) |
To initiate peer link we must notify about received beacon.
interface | the interface where a beacon was received from |
peerAddress | address of station, which sent a beacon |
beaconInterval | beacon interval (needed by beacon loss counter) |
beaconTiming | beacon timing element (needed by BCA) |
Definition at line 170 of file peer-management-protocol.cc.
References FindPeerLink(), GetBeaconCollisionAvoidance(), ns3::Mac48Address::GetBroadcast(), InitiateLink(), m_plugins, ns3::Simulator::Now(), ns3::PeekPointer(), and ShouldSendOpen().
void ns3::dot11s::PeerManagementProtocol::ReceivePeerLinkFrame | ( | uint32_t | interface, |
Mac48Address | peerAddress, | ||
Mac48Address | peerMeshPointAddress, | ||
uint16_t | aid, | ||
IePeerManagement | peerManagementElement, | ||
IeConfiguration | meshConfig | ||
) |
Methods that handle Peer link management frames interaction:
Deliver Peer link management information to the protocol-part
interface | is a interface ID of a given MAC (interfaceID rather than MAC address, because many interfaces may have the same MAC) |
peerAddress | is address of peer |
peerMeshPointAddress | is address of peer mesh point device (equal to peer address when only one interface) |
aid | is association ID, which peer has assigned to us |
peerManagementElement | is peer link management element |
meshConfig | is mesh configuration element taken from the peer management frame |
Definition at line 202 of file peer-management-protocol.cc.
References FindPeerLink(), ns3::dot11s::IePeerManagement::GetLocalLinkId(), ns3::dot11s::IePeerManagement::GetPeerLinkId(), ns3::dot11s::IePeerManagement::GetReasonCode(), InitiateLink(), ns3::dot11s::REASON11S_RESERVED, ShouldAcceptOpen(), ns3::dot11s::IePeerManagement::SubtypeIsClose(), ns3::dot11s::IePeerManagement::SubtypeIsConfirm(), and ns3::dot11s::IePeerManagement::SubtypeIsOpen().
void ns3::dot11s::PeerManagementProtocol::Report | ( | std::ostream & | os | ) | const |
: Report statistics
Definition at line 559 of file peer-management-protocol.cc.
References m_peerLinks, m_plugins, m_stats, NS_ASSERT, visualizer.base::plugins, and ns3::dot11s::PeerManagementProtocol::Statistics::Print().
void ns3::dot11s::PeerManagementProtocol::ResetStats | ( | ) |
Definition at line 578 of file peer-management-protocol.cc.
References ns3::dot11s::PeerManagementProtocol::Statistics::linksTotal, m_plugins, m_stats, and visualizer.base::plugins.
void ns3::dot11s::PeerManagementProtocol::SetBeaconCollisionAvoidance | ( | bool | enable | ) |
Enable or disable beacon collision avoidance.
Definition at line 606 of file peer-management-protocol.cc.
References m_enableBca.
Referenced by GetTypeId().
void ns3::dot11s::PeerManagementProtocol::SetMeshId | ( | std::string | s | ) |
Set peer link status change callback.
Definition at line 530 of file peer-management-protocol.cc.
References m_meshId.
void ns3::dot11s::PeerManagementProtocol::SetPeerLinkStatusCallback | ( | Callback< void, Mac48Address, Mac48Address, uint32_t, bool > | cb | ) |
Set peer link status change callback.
Definition at line 319 of file peer-management-protocol.cc.
References m_peerStatusCallback.
|
private |
Definition at line 444 of file peer-management-protocol.cc.
References ns3::UniformRandomVariable::GetValue(), m_beaconShift, m_plugins, NS_ASSERT, and TuToTime().
Referenced by CheckBeaconCollisions().
|
private |
Definition at line 372 of file peer-management-protocol.cc.
References ns3::dot11s::PeerManagementProtocol::Statistics::linksTotal, m_maxNumberOfPeerLinks, m_stats, and ns3::dot11s::REASON11S_MESH_MAX_PEERS.
Referenced by ReceivePeerLinkFrame().
|
private |
Definition at line 366 of file peer-management-protocol.cc.
References ns3::dot11s::PeerManagementProtocol::Statistics::linksTotal, m_maxNumberOfPeerLinks, and m_stats.
Referenced by ReceiveBeacon().
|
private |
Definition at line 464 of file peer-management-protocol.cc.
References ns3::Time::GetMicroSeconds().
Referenced by CheckBeaconCollisions().
void ns3::dot11s::PeerManagementProtocol::TransmissionFailure | ( | uint32_t | interface, |
const Mac48Address | peerAddress | ||
) |
Cancels peer link due to successive transmission failures.
Definition at line 250 of file peer-management-protocol.cc.
References FindPeerLink(), GetAddress(), and NS_LOG_DEBUG.
void ns3::dot11s::PeerManagementProtocol::TransmissionSuccess | ( | uint32_t | interface, |
const Mac48Address | peerAddress | ||
) |
resets transmission failure statistics
Definition at line 260 of file peer-management-protocol.cc.
References FindPeerLink(), GetAddress(), and NS_LOG_DEBUG.
|
private |
Definition at line 459 of file peer-management-protocol.cc.
References ns3::MicroSeconds().
Referenced by CheckBeaconCollisions(), NotifyBeaconSent(), and ShiftOwnBeacon().
|
private |
Definition at line 236 of file peer-management-protocol.h.
Referenced by GetAddress(), Install(), and PeerLinkStatus().
|
private |
Beacon interval at each interface.
Definition at line 249 of file peer-management-protocol.h.
Referenced by CheckBeaconCollisions(), and NotifyBeaconSent().
|
private |
Add randomness to beacon shift.
Definition at line 288 of file peer-management-protocol.h.
Referenced by AssignStreams(), DoInitialize(), PeerManagementProtocol(), and ShiftOwnBeacon().
|
private |
Flag which enables BCA.
Definition at line 243 of file peer-management-protocol.h.
Referenced by GetBeaconCollisionAvoidance(), and SetBeaconCollisionAvoidance().
|
private |
Definition at line 239 of file peer-management-protocol.h.
Referenced by InitiateLink().
|
private |
Last beacon at each interface.
Definition at line 247 of file peer-management-protocol.h.
Referenced by CheckBeaconCollisions(), and NotifyBeaconSent().
|
private |
Definition at line 240 of file peer-management-protocol.h.
Referenced by InitiateLink().
|
private |
LinkClose trace source.
Definition at line 273 of file peer-management-protocol.h.
Referenced by GetTypeId(), and NotifyLinkClose().
|
private |
LinkOpen trace source.
Definition at line 271 of file peer-management-protocol.h.
Referenced by GetTypeId(), and NotifyLinkOpen().
|
private |
Beacon can be shifted at [-m_maxBeaconShift; +m_maxBeaconShift] TUs.
Definition at line 245 of file peer-management-protocol.h.
Referenced by CheckBeaconCollisions(), DoInitialize(), GetTypeId(), and NotifyBeaconSent().
|
private |
Definition at line 241 of file peer-management-protocol.h.
Referenced by GetTypeId(), ShouldAcceptOpen(), and ShouldSendOpen().
Definition at line 237 of file peer-management-protocol.h.
Referenced by GetMeshId(), SetMeshId(), and ~PeerManagementProtocol().
|
private |
Definition at line 255 of file peer-management-protocol.h.
Referenced by CheckBeaconCollisions(), DoDispose(), FindPeerLink(), GetBeaconTimingElement(), GetPeerLinks(), GetPeers(), InitiateLink(), Install(), and Report().
|
private |
Callback to notify about peer link changes: Mac48Address is peer address of mesh point, Mac48Address is peer address of interface, uint32_t - interface ID, bool is status - true when new link has appeared, false - when link was closed,.
Definition at line 266 of file peer-management-protocol.h.
Referenced by NotifyLinkClose(), NotifyLinkOpen(), and SetPeerLinkStatusCallback().
|
private |
Definition at line 235 of file peer-management-protocol.h.
Referenced by CheckBeaconCollisions(), DoDispose(), InitiateLink(), Install(), PeerLinkStatus(), ReceiveBeacon(), Report(), ResetStats(), and ShiftOwnBeacon().
|
private |
Definition at line 285 of file peer-management-protocol.h.
Referenced by GetNumberOfLinks(), NotifyLinkClose(), NotifyLinkOpen(), Report(), ResetStats(), ShouldAcceptOpen(), and ShouldSendOpen().