A Discrete-Event Network Simulator
API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
ns3::dot11s::PeerLink Class Reference

Peer link model for 802.11s Peer Management protocol. More...

#include <peer-link.h>

+ Inheritance diagram for ns3::dot11s::PeerLink:
+ Collaboration diagram for ns3::dot11s::PeerLink:

Public Types

enum  PeerState {
  IDLE, OPN_SNT, CNF_RCVD, OPN_RCVD,
  ESTAB, HOLDING
}
 Peer Link state: More...
 

Public Member Functions

 PeerLink ()
 C-tor create empty link. More...
 
 ~PeerLink ()
 
void DoDispose ()
 This method is called by Object::Dispose or by the object's destructor, whichever comes first. More...
 
void Report (std::ostream &os) const
 Statistics. More...
 
void SetBeaconInformation (Time lastBeacon, Time BeaconInterval)
 Process beacon received from peer. More...
 
void SetLinkStatusCallback (Callback< void, uint32_t, Mac48Address, bool > cb)
 Method used to detect peer link changes. More...
 
Peer link getters/setters
void SetPeerAddress (Mac48Address macaddr)
 
void SetPeerMeshPointAddress (Mac48Address macaddr)
 
void SetInterface (uint32_t interface)
 
void SetLocalLinkId (uint16_t id)
 
void SetLocalAid (uint16_t aid)
 
uint16_t GetPeerAid () const
 
void SetBeaconTimingElement (IeBeaconTiming beaconTiming)
 
Mac48Address GetPeerAddress () const
 
uint16_t GetLocalAid () const
 
Time GetLastBeacon () const
 
Time GetBeaconInterval () const
 
IeBeaconTiming GetBeaconTimingElement () const
 
- Public Member Functions inherited from ns3::Object
 Object ()
 
virtual ~Object ()
 
void AggregateObject (Ptr< Object > other)
 
void Dispose (void)
 Run the DoDispose methods of this object and all the objects aggregated to it. More...
 
AggregateIterator GetAggregateIterator (void) const
 
virtual TypeId GetInstanceTypeId (void) const
 
template<typename T >
Ptr< T > GetObject (void) const
 
template<typename T >
Ptr< T > GetObject (TypeId tid) const
 
void Initialize (void)
 This method calls the virtual DoInitialize method on all the objects aggregated to this object. More...
 
- Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter >
 SimpleRefCount ()
 Constructor. More...
 
 SimpleRefCount (const SimpleRefCount &o)
 Copy constructor. More...
 
uint32_t GetReferenceCount (void) const
 Get the reference count of the object. More...
 
SimpleRefCountoperator= (const SimpleRefCount &o)
 Assignment. More...
 
void Ref (void) const
 Increment the reference count. More...
 
void Unref (void) const
 Decrement the reference count. More...
 
- Public Member Functions inherited from ns3::ObjectBase
virtual ~ObjectBase ()
 Virtual destructor. More...
 
void GetAttribute (std::string name, AttributeValue &value) const
 
bool GetAttributeFailSafe (std::string name, AttributeValue &attribute) const
 
void SetAttribute (std::string name, const AttributeValue &value)
 
bool SetAttributeFailSafe (std::string name, const AttributeValue &value)
 
bool TraceConnect (std::string name, std::string context, const CallbackBase &cb)
 
bool TraceConnectWithoutContext (std::string name, const CallbackBase &cb)
 
bool TraceDisconnect (std::string name, std::string context, const CallbackBase &cb)
 
bool TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb)
 

Static Public Member Functions

static TypeId GetTypeId ()
 Support object system. More...
 
- Static Public Member Functions inherited from ns3::Object
static TypeId GetTypeId (void)
 Register this type. More...
 
- Static Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter >
static void Cleanup (void)
 Noop. More...
 
- Static Public Member Functions inherited from ns3::ObjectBase
static TypeId GetTypeId (void)
 Get the type ID. More...
 

Private Types

enum  PeerEvent {
  CNCL, ACTOPN, CLS_ACPT, OPN_ACPT,
  OPN_RJCT, REQ_RJCT, CNF_ACPT, CNF_RJCT,
  TOR1, TOR2, TOC, TOH
}
 Peer link events, see 802.11s draft 11B.3.3.2. More...
 

Private Member Functions

 PeerLink (const PeerLink &)
 
void BeaconLoss ()
 Several successive beacons were lost, close link. More...
 
bool LinkIsEstab () const
 True if link is established. More...
 
bool LinkIsIdle () const
 True if link is idle. Link can be deleted in this state. More...
 
PeerLinkoperator= (const PeerLink &)
 
void SetMacPlugin (Ptr< PeerManagementProtocolMac > plugin)
 Set pointer to MAC-plugin, which is responsible for sending peer link management frames. More...
 
void StateMachine (PeerEvent event, PmpReasonCode=REASON11S_RESERVED)
 State transition. More...
 
Link response to received management frames
Attention
In all this methods {local/peer}LinkID correspond to peer station, as written in received frame, e.g. I am peerLinkID and peer link is localLinkID .
void Close (uint16_t localLinkID, uint16_t peerLinkID, PmpReasonCode reason)
 Close link. More...
 
void OpenAccept (uint16_t localLinkId, IeConfiguration conf, Mac48Address peerMp)
 Accept open link. More...
 
void OpenReject (uint16_t localLinkId, IeConfiguration conf, Mac48Address peerMp, PmpReasonCode reason)
 Reject open link. More...
 
void ConfirmAccept (uint16_t localLinkId, uint16_t peerLinkId, uint16_t peerAid, IeConfiguration conf, Mac48Address peerMp)
 Confirm accept. More...
 
void ConfirmReject (uint16_t localLinkId, uint16_t peerLinkId, IeConfiguration conf, Mac48Address peerMp, PmpReasonCode reason)
 Confirm reject. More...
 
Event handlers
void ClearRetryTimer ()
 
void ClearConfirmTimer ()
 
void ClearHoldingTimer ()
 
void SetHoldingTimer ()
 
void SetRetryTimer ()
 
void SetConfirmTimer ()
 
Work with management frames
void SendPeerLinkClose (PmpReasonCode reasoncode)
 
void SendPeerLinkOpen ()
 
void SendPeerLinkConfirm ()
 
Timeout handlers
void HoldingTimeout ()
 
void RetryTimeout ()
 
void ConfirmTimeout ()
 

Private Attributes

uint16_t m_assocId
 My association ID. More...
 
Time m_beaconInterval
 Current beacon interval on corresponding interface. More...
 
IeBeaconTiming m_beaconTiming
 Beacon timing element received from the peer. Needed by BCA. More...
 
IeConfiguration m_configuration
 Mesh interface configuration. More...
 
uint32_t m_interface
 The number of interface I am associated with. More...
 
Time m_lastBeacon
 When last beacon was received. More...
 
SignalStatusCallback m_linkStatusCallback
 How to report my status change. More...
 
uint16_t m_localLinkId
 My ID of this link. More...
 
Ptr< PeerManagementProtocolMacm_macPlugin
 pointer to MAC plugin, which is responsible for peer management More...
 
uint16_t m_packetFail
 How many successive packets were failed to transmit. More...
 
Mac48Address m_peerAddress
 Peer address. More...
 
uint16_t m_peerAssocId
 Assoc Id assigned to me by peer. More...
 
uint16_t m_peerLinkId
 Peer ID of this link. More...
 
Mac48Address m_peerMeshPointAddress
 Mesh point address, equal to peer address in case of single interface mesh point. More...
 
PeerState m_state
 Current state. More...
 
Timers & counters used for internal state transitions
uint16_t m_dot11MeshMaxRetries
 
Time m_dot11MeshRetryTimeout
 
Time m_dot11MeshHoldingTimeout
 
Time m_dot11MeshConfirmTimeout
 
EventId m_retryTimer
 
EventId m_holdingTimer
 
EventId m_confirmTimer
 
uint16_t m_retryCounter
 
EventId m_beaconLossTimer
 
uint16_t m_maxBeaconLoss
 
uint16_t m_maxPacketFail
 

Friends

class PeerManagementProtocol
 

MLME

typedef Callback< void,
uint32_t, Mac48Address,
Mac48Address,
PeerLink::PeerState,
PeerLink::PeerState
SignalStatusCallback
 Callback type for MLME-SignalPeerLinkStatus event. More...
 
void MLMECancelPeerLink (PmpReasonCode reason)
 MLME-CancelPeerLink.request. More...
 
void MLMEActivePeerLinkOpen ()
 MLME-ActivePeerLinkOpen.request. More...
 
void MLMEPeeringRequestReject ()
 MLME-PeeringRequestReject. More...
 
void MLMESetSignalStatusCallback (SignalStatusCallback)
 Set callback. More...
 
void TransmissionSuccess ()
 Reports about transmission success/failure. More...
 
void TransmissionFailure ()
 Callback type for MLME-SignalPeerLinkStatus event. More...
 

Additional Inherited Members

- Protected Member Functions inherited from ns3::Object
 Object (const Object &o)
 
virtual void DoInitialize (void)
 This method is called only once by Object::Initialize. More...
 
virtual void NotifyNewAggregate (void)
 This method is invoked whenever two sets of objects are aggregated together. More...
 
- Protected Member Functions inherited from ns3::ObjectBase
void ConstructSelf (const AttributeConstructionList &attributes)
 
virtual void NotifyConstructionCompleted (void)
 This method is invoked once all member attributes have been initialized. More...
 

Detailed Description

Peer link model for 802.11s Peer Management protocol.

Doxygen introspection did not find any typical Config paths.


Attributes

  • RetryTimeout: Retry timeout
    • Set with class: ns3::TimeValue
    • Underlying type: Time -9223372036854775808.0ns:+9223372036854775807.0ns
    • Initial value: +40960000.0ns
    • Flags: construct write read
  • HoldingTimeout: Holding timeout
    • Set with class: ns3::TimeValue
    • Underlying type: Time -9223372036854775808.0ns:+9223372036854775807.0ns
    • Initial value: +40960000.0ns
    • Flags: construct write read
  • ConfirmTimeout: Confirm timeout
    • Set with class: ns3::TimeValue
    • Underlying type: Time -9223372036854775808.0ns:+9223372036854775807.0ns
    • Initial value: +40960000.0ns
    • Flags: construct write read
  • MaxRetries: Maximum number of retries
  • MaxBeaconLoss: Maximum number of lost beacons before link will be closed
  • MaxPacketFailure: Maximum number of failed packets before link will be closed

No TraceSources are defined for this type.

Definition at line 43 of file peer-link.h.

Member Typedef Documentation

Callback type for MLME-SignalPeerLinkStatus event.

Definition at line 101 of file peer-link.h.

Member Enumeration Documentation

Peer link events, see 802.11s draft 11B.3.3.2.

Enumerator
CNCL 

Cancel peer link.

ACTOPN 

Active peer link open.

CLS_ACPT 

PeerLinkClose_Accept.

OPN_ACPT 

PeerLinkOpen_Accept.

OPN_RJCT 

PeerLinkOpen_Reject.

REQ_RJCT 

PeerLinkOpenReject by internal reason.

CNF_ACPT 

PeerLinkConfirm_Accept.

CNF_RJCT 

PeerLinkConfirm_Reject.

TOR1 

Timeout of retry timer.

TOR2 

also timeout of retry timer

TOC 

Timeout of confirm timer.

TOH 

Timeout of holding (graceful closing) timer.

Definition at line 112 of file peer-link.h.

Peer Link state:

Enumerator
IDLE 
OPN_SNT 
CNF_RCVD 
OPN_RCVD 
ESTAB 
HOLDING 

Definition at line 54 of file peer-link.h.

Constructor & Destructor Documentation

ns3::dot11s::PeerLink::PeerLink ( )

C-tor create empty link.

Definition at line 93 of file peer-link.cc.

ns3::dot11s::PeerLink::~PeerLink ( )

Definition at line 108 of file peer-link.cc.

ns3::dot11s::PeerLink::PeerLink ( const PeerLink )
private

Member Function Documentation

void ns3::dot11s::PeerLink::BeaconLoss ( )
private

Several successive beacons were lost, close link.

Definition at line 161 of file peer-link.cc.

References CNCL, and StateMachine().

Referenced by SetBeaconInformation().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::dot11s::PeerLink::ClearConfirmTimer ( )
private

Definition at line 614 of file peer-link.cc.

References ns3::EventId::Cancel(), and m_confirmTimer.

Referenced by StateMachine().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::dot11s::PeerLink::ClearHoldingTimer ( )
private

Definition at line 619 of file peer-link.cc.

References ns3::EventId::Cancel(), and m_holdingTimer.

Referenced by StateMachine().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::dot11s::PeerLink::ClearRetryTimer ( )
private

Definition at line 609 of file peer-link.cc.

References ns3::EventId::Cancel(), and m_retryTimer.

Referenced by StateMachine().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::dot11s::PeerLink::Close ( uint16_t  localLinkID,
uint16_t  peerLinkID,
PmpReasonCode  reason 
)
private

Close link.

Definition at line 233 of file peer-link.cc.

References CLS_ACPT, m_localLinkId, m_peerLinkId, and StateMachine().

+ Here is the call graph for this function:

void ns3::dot11s::PeerLink::ConfirmAccept ( uint16_t  localLinkId,
uint16_t  peerLinkId,
uint16_t  peerAid,
IeConfiguration  conf,
Mac48Address  peerMp 
)
private

Confirm accept.

Definition at line 286 of file peer-link.cc.

References CNF_ACPT, ns3::Mac48Address::GetBroadcast(), m_configuration, m_localLinkId, m_peerAssocId, m_peerLinkId, m_peerMeshPointAddress, NS_ASSERT, and StateMachine().

+ Here is the call graph for this function:

void ns3::dot11s::PeerLink::ConfirmReject ( uint16_t  localLinkId,
uint16_t  peerLinkId,
IeConfiguration  conf,
Mac48Address  peerMp,
PmpReasonCode  reason 
)
private

Confirm reject.

Definition at line 317 of file peer-link.cc.

References CNF_RJCT, ns3::Mac48Address::GetBroadcast(), m_configuration, m_localLinkId, m_peerLinkId, m_peerMeshPointAddress, NS_ASSERT, and StateMachine().

+ Here is the call graph for this function:

void ns3::dot11s::PeerLink::ConfirmTimeout ( )
private

Definition at line 684 of file peer-link.cc.

References StateMachine(), and TOC.

Referenced by SetConfirmTimer().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::dot11s::PeerLink::DoDispose ( void  )
virtual

This method is called by Object::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 112 of file peer-link.cc.

References ns3::EventId::Cancel(), ns3::dot11s::IeBeaconTiming::ClearTimingElement(), m_beaconLossTimer, m_beaconTiming, m_confirmTimer, m_holdingTimer, and m_retryTimer.

+ Here is the call graph for this function:

Time ns3::dot11s::PeerLink::GetBeaconInterval ( ) const

Definition at line 208 of file peer-link.cc.

References m_beaconInterval.

IeBeaconTiming ns3::dot11s::PeerLink::GetBeaconTimingElement ( ) const

Definition at line 213 of file peer-link.cc.

References m_beaconTiming.

Time ns3::dot11s::PeerLink::GetLastBeacon ( ) const

Definition at line 203 of file peer-link.cc.

References m_lastBeacon.

uint16_t ns3::dot11s::PeerLink::GetLocalAid ( ) const

Definition at line 192 of file peer-link.cc.

References m_assocId.

Mac48Address ns3::dot11s::PeerLink::GetPeerAddress ( void  ) const

Definition at line 187 of file peer-link.cc.

References m_peerAddress.

uint16_t ns3::dot11s::PeerLink::GetPeerAid ( ) const

Definition at line 197 of file peer-link.cc.

References m_peerAssocId.

TypeId ns3::dot11s::PeerLink::GetTypeId ( void  )
static

Support object system.

Definition at line 38 of file peer-link.cc.

References m_dot11MeshConfirmTimeout, m_dot11MeshHoldingTimeout, m_dot11MeshMaxRetries, m_dot11MeshRetryTimeout, m_maxBeaconLoss, m_maxPacketFail, ns3::MakeTimeChecker(), and ns3::TypeId::SetParent().

+ Here is the call graph for this function:

void ns3::dot11s::PeerLink::HoldingTimeout ( )
private

Definition at line 655 of file peer-link.cc.

References StateMachine(), and TOH.

Referenced by SetHoldingTimer().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

bool ns3::dot11s::PeerLink::LinkIsEstab ( ) const
private

True if link is established.

Definition at line 344 of file peer-link.cc.

References ESTAB, and m_state.

bool ns3::dot11s::PeerLink::LinkIsIdle ( ) const
private

True if link is idle. Link can be deleted in this state.

Definition at line 349 of file peer-link.cc.

References IDLE, and m_state.

void ns3::dot11s::PeerLink::MLMEActivePeerLinkOpen ( )

MLME-ActivePeerLinkOpen.request.

Definition at line 223 of file peer-link.cc.

References ACTOPN, and StateMachine().

+ Here is the call graph for this function:

void ns3::dot11s::PeerLink::MLMECancelPeerLink ( PmpReasonCode  reason)

MLME-CancelPeerLink.request.

Definition at line 218 of file peer-link.cc.

References CNCL, and StateMachine().

+ Here is the call graph for this function:

void ns3::dot11s::PeerLink::MLMEPeeringRequestReject ( )

MLME-PeeringRequestReject.

Definition at line 228 of file peer-link.cc.

References ns3::dot11s::REASON11S_PEERING_CANCELLED, REQ_RJCT, and StateMachine().

+ Here is the call graph for this function:

void ns3::dot11s::PeerLink::MLMESetSignalStatusCallback ( PeerLink::SignalStatusCallback  cb)

Set callback.

Definition at line 156 of file peer-link.cc.

References m_linkStatusCallback.

void ns3::dot11s::PeerLink::OpenAccept ( uint16_t  localLinkId,
IeConfiguration  conf,
Mac48Address  peerMp 
)
private

Accept open link.

Definition at line 253 of file peer-link.cc.

References ns3::Mac48Address::GetBroadcast(), m_configuration, m_peerLinkId, m_peerMeshPointAddress, NS_ASSERT, OPN_ACPT, and StateMachine().

+ Here is the call graph for this function:

void ns3::dot11s::PeerLink::OpenReject ( uint16_t  localLinkId,
IeConfiguration  conf,
Mac48Address  peerMp,
PmpReasonCode  reason 
)
private

Reject open link.

Definition at line 268 of file peer-link.cc.

References ns3::Mac48Address::GetBroadcast(), m_configuration, m_peerLinkId, m_peerMeshPointAddress, NS_ASSERT, OPN_RJCT, and StateMachine().

+ Here is the call graph for this function:

PeerLink& ns3::dot11s::PeerLink::operator= ( const PeerLink )
private
void ns3::dot11s::PeerLink::Report ( std::ostream &  os) const
void ns3::dot11s::PeerLink::RetryTimeout ( )
private

Definition at line 666 of file peer-link.cc.

References m_dot11MeshMaxRetries, m_retryCounter, StateMachine(), TOR1, and TOR2.

Referenced by SetRetryTimer().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::dot11s::PeerLink::SendPeerLinkClose ( PmpReasonCode  reasoncode)
private

Definition at line 624 of file peer-link.cc.

References m_assocId, m_configuration, m_localLinkId, m_macPlugin, m_peerAddress, m_peerLinkId, m_peerMeshPointAddress, ns3::dot11s::PeerManagementProtocolMac::SendPeerLinkManagementFrame(), and ns3::dot11s::IePeerManagement::SetPeerClose().

Referenced by StateMachine().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::dot11s::PeerLink::SendPeerLinkConfirm ( )
private

Definition at line 641 of file peer-link.cc.

References m_assocId, m_configuration, m_localLinkId, m_macPlugin, m_peerAddress, m_peerLinkId, m_peerMeshPointAddress, ns3::dot11s::PeerManagementProtocolMac::SendPeerLinkManagementFrame(), and ns3::dot11s::IePeerManagement::SetPeerConfirm().

Referenced by StateMachine().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::dot11s::PeerLink::SendPeerLinkOpen ( )
private

Definition at line 632 of file peer-link.cc.

References m_assocId, m_configuration, m_localLinkId, m_macPlugin, m_peerAddress, m_peerMeshPointAddress, NS_ASSERT, ns3::dot11s::PeerManagementProtocolMac::SendPeerLinkManagementFrame(), and ns3::dot11s::IePeerManagement::SetPeerOpen().

Referenced by StateMachine().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::dot11s::PeerLink::SetBeaconInformation ( Time  lastBeacon,
Time  BeaconInterval 
)

Process beacon received from peer.

Definition at line 146 of file peer-link.cc.

References BeaconLoss(), ns3::EventId::Cancel(), ns3::Time::GetMicroSeconds(), ns3::Time::GetSeconds(), m_beaconInterval, m_beaconLossTimer, m_lastBeacon, m_maxBeaconLoss, NS_ASSERT, and ns3::Simulator::Schedule().

+ Here is the call graph for this function:

void ns3::dot11s::PeerLink::SetBeaconTimingElement ( IeBeaconTiming  beaconTiming)

Definition at line 182 of file peer-link.cc.

References m_beaconTiming.

void ns3::dot11s::PeerLink::SetConfirmTimer ( )
private

Definition at line 678 of file peer-link.cc.

References ConfirmTimeout(), ns3::Time::GetMicroSeconds(), m_confirmTimer, m_dot11MeshConfirmTimeout, NS_ASSERT, and ns3::Simulator::Schedule().

Referenced by StateMachine().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::dot11s::PeerLink::SetHoldingTimer ( )
private

Definition at line 649 of file peer-link.cc.

References ns3::Time::GetMicroSeconds(), HoldingTimeout(), m_dot11MeshHoldingTimeout, m_holdingTimer, NS_ASSERT, and ns3::Simulator::Schedule().

Referenced by StateMachine().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::dot11s::PeerLink::SetInterface ( uint32_t  interface)

Definition at line 131 of file peer-link.cc.

References m_interface.

void ns3::dot11s::PeerLink::SetLinkStatusCallback ( Callback< void, uint32_t, Mac48Address, bool >  cb)

Method used to detect peer link changes.

Parameters
cbis a callback, which notifies, that on interface (uint32_t), peer link with address (Mac48Address) was opened (bool is true) or closed (bool is false)
void ns3::dot11s::PeerLink::SetLocalAid ( uint16_t  aid)

Definition at line 141 of file peer-link.cc.

References m_assocId.

void ns3::dot11s::PeerLink::SetLocalLinkId ( uint16_t  id)

Definition at line 136 of file peer-link.cc.

References m_localLinkId.

void ns3::dot11s::PeerLink::SetMacPlugin ( Ptr< PeerManagementProtocolMac plugin)
private

Set pointer to MAC-plugin, which is responsible for sending peer link management frames.

Definition at line 354 of file peer-link.cc.

References m_macPlugin.

void ns3::dot11s::PeerLink::SetPeerAddress ( Mac48Address  macaddr)

Definition at line 121 of file peer-link.cc.

References m_peerAddress.

void ns3::dot11s::PeerLink::SetPeerMeshPointAddress ( Mac48Address  macaddr)

Definition at line 126 of file peer-link.cc.

References m_peerMeshPointAddress.

void ns3::dot11s::PeerLink::SetRetryTimer ( )
private

Definition at line 660 of file peer-link.cc.

References ns3::Time::GetMicroSeconds(), m_dot11MeshRetryTimeout, m_retryTimer, NS_ASSERT, RetryTimeout(), and ns3::Simulator::Schedule().

Referenced by StateMachine().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::dot11s::PeerLink::TransmissionFailure ( )

Callback type for MLME-SignalPeerLinkStatus event.

Definition at line 171 of file peer-link.cc.

References CNCL, m_maxPacketFail, m_packetFail, and StateMachine().

+ Here is the call graph for this function:

void ns3::dot11s::PeerLink::TransmissionSuccess ( )

Reports about transmission success/failure.

Definition at line 166 of file peer-link.cc.

References m_packetFail.

Friends And Related Function Documentation

friend class PeerManagementProtocol
friend

Definition at line 46 of file peer-link.h.

Member Data Documentation

uint16_t ns3::dot11s::PeerLink::m_assocId
private

My association ID.

Definition at line 219 of file peer-link.h.

Referenced by GetLocalAid(), Report(), SendPeerLinkClose(), SendPeerLinkConfirm(), SendPeerLinkOpen(), and SetLocalAid().

Time ns3::dot11s::PeerLink::m_beaconInterval
private

Current beacon interval on corresponding interface.

Definition at line 226 of file peer-link.h.

Referenced by GetBeaconInterval(), and SetBeaconInformation().

EventId ns3::dot11s::PeerLink::m_beaconLossTimer
private

Definition at line 253 of file peer-link.h.

Referenced by DoDispose(), and SetBeaconInformation().

IeBeaconTiming ns3::dot11s::PeerLink::m_beaconTiming
private

Beacon timing element received from the peer. Needed by BCA.

Definition at line 238 of file peer-link.h.

Referenced by DoDispose(), GetBeaconTimingElement(), and SetBeaconTimingElement().

IeConfiguration ns3::dot11s::PeerLink::m_configuration
private

Mesh interface configuration.

Attention
Is not used now, nothing to configure :)

Definition at line 236 of file peer-link.h.

Referenced by ConfirmAccept(), ConfirmReject(), OpenAccept(), OpenReject(), SendPeerLinkClose(), SendPeerLinkConfirm(), and SendPeerLinkOpen().

EventId ns3::dot11s::PeerLink::m_confirmTimer
private

Definition at line 251 of file peer-link.h.

Referenced by ClearConfirmTimer(), DoDispose(), and SetConfirmTimer().

Time ns3::dot11s::PeerLink::m_dot11MeshConfirmTimeout
private

Definition at line 247 of file peer-link.h.

Referenced by GetTypeId(), and SetConfirmTimer().

Time ns3::dot11s::PeerLink::m_dot11MeshHoldingTimeout
private

Definition at line 246 of file peer-link.h.

Referenced by GetTypeId(), and SetHoldingTimer().

uint16_t ns3::dot11s::PeerLink::m_dot11MeshMaxRetries
private

Definition at line 244 of file peer-link.h.

Referenced by GetTypeId(), and RetryTimeout().

Time ns3::dot11s::PeerLink::m_dot11MeshRetryTimeout
private

Definition at line 245 of file peer-link.h.

Referenced by GetTypeId(), and SetRetryTimer().

EventId ns3::dot11s::PeerLink::m_holdingTimer
private

Definition at line 250 of file peer-link.h.

Referenced by ClearHoldingTimer(), DoDispose(), and SetHoldingTimer().

uint32_t ns3::dot11s::PeerLink::m_interface
private

The number of interface I am associated with.

Definition at line 206 of file peer-link.h.

Referenced by SetInterface(), and StateMachine().

Time ns3::dot11s::PeerLink::m_lastBeacon
private

When last beacon was received.

Definition at line 224 of file peer-link.h.

Referenced by GetLastBeacon(), Report(), and SetBeaconInformation().

SignalStatusCallback ns3::dot11s::PeerLink::m_linkStatusCallback
private

How to report my status change.

Definition at line 258 of file peer-link.h.

Referenced by MLMESetSignalStatusCallback(), and StateMachine().

uint16_t ns3::dot11s::PeerLink::m_localLinkId
private
Ptr<PeerManagementProtocolMac> ns3::dot11s::PeerLink::m_macPlugin
private

pointer to MAC plugin, which is responsible for peer management

Definition at line 208 of file peer-link.h.

Referenced by Report(), SendPeerLinkClose(), SendPeerLinkConfirm(), SendPeerLinkOpen(), and SetMacPlugin().

uint16_t ns3::dot11s::PeerLink::m_maxBeaconLoss
private

Definition at line 254 of file peer-link.h.

Referenced by GetTypeId(), and SetBeaconInformation().

uint16_t ns3::dot11s::PeerLink::m_maxPacketFail
private

Definition at line 255 of file peer-link.h.

Referenced by GetTypeId(), and TransmissionFailure().

uint16_t ns3::dot11s::PeerLink::m_packetFail
private

How many successive packets were failed to transmit.

Definition at line 228 of file peer-link.h.

Referenced by TransmissionFailure(), and TransmissionSuccess().

Mac48Address ns3::dot11s::PeerLink::m_peerAddress
private
uint16_t ns3::dot11s::PeerLink::m_peerAssocId
private

Assoc Id assigned to me by peer.

Definition at line 221 of file peer-link.h.

Referenced by ConfirmAccept(), and GetPeerAid().

uint16_t ns3::dot11s::PeerLink::m_peerLinkId
private

Peer ID of this link.

Definition at line 217 of file peer-link.h.

Referenced by Close(), ConfirmAccept(), ConfirmReject(), OpenAccept(), OpenReject(), Report(), SendPeerLinkClose(), and SendPeerLinkConfirm().

Mac48Address ns3::dot11s::PeerLink::m_peerMeshPointAddress
private

Mesh point address, equal to peer address in case of single interface mesh point.

Definition at line 213 of file peer-link.h.

Referenced by ConfirmAccept(), ConfirmReject(), OpenAccept(), OpenReject(), Report(), SendPeerLinkClose(), SendPeerLinkConfirm(), SendPeerLinkOpen(), SetPeerMeshPointAddress(), and StateMachine().

uint16_t ns3::dot11s::PeerLink::m_retryCounter
private

Definition at line 252 of file peer-link.h.

Referenced by RetryTimeout(), and StateMachine().

EventId ns3::dot11s::PeerLink::m_retryTimer
private

Definition at line 249 of file peer-link.h.

Referenced by ClearRetryTimer(), DoDispose(), and SetRetryTimer().

PeerState ns3::dot11s::PeerLink::m_state
private

Current state.

Definition at line 231 of file peer-link.h.

Referenced by LinkIsEstab(), LinkIsIdle(), Report(), and StateMachine().


The documentation for this class was generated from the following files: