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

Implementation of LinkLayer of BLE protocol. More...

#include "ble-linklayer.h"

+ Inheritance diagram for ns3::BleLinkLayer:
+ Collaboration diagram for ns3::BleLinkLayer:

Public Types

enum  BLE_LL_CONTROL_PDU {
  LL_CONNECTION_UPDATE_REQ = 0x00, LL_CHANNEL_MAP_REQ = 0x01, LL_TERMINATE_IND = 0x02, LL_ENC_REQ = 0x03,
  LL_ENC_RSP = 0x04, LL_START_ENC_REQ = 0x05, LL_START_ENC_RSP = 0x06, LL_UNKNOWN_RSP = 0x07,
  LL_FEATURE_REQ = 0x08, LL_FEATURE_RSP = 0x09, LL_PAUSE_ENC_REQ = 0x0A, LL_PAUSE_ENC_RSP = 0x0B,
  LL_VERSION_IND = 0x0C, LL_REJECT_IND = 0x0D, LL_SLAVE_FEATURE_REQ = 0x0E, LL_CONNECTION_PARAM_REQ = 0x0F,
  LL_CONNECTION_PARAM_RSP = 0x10, LL_REJECT_IND_EXT = 0x11, LL_PING_REQ = 0x12, LL_PING_RSP = 0x13,
  LL_LENGTH_REQ = 0x14, LL_LENGTH_RSP = 0x15
}
 
enum  BleAdvMode {
  GENERAL_ADV, DIRECT_ADV, NON_CONN_ADV, DISC_ADV,
  SCANNER_RESP, SCANNER_REQ, CONN_REQ
}
 
enum  BleLinkLayerDeviceTypes { CENTRAL, PERIPHERAL }
 
enum  BleLinkLayerRole {
  STANDBY, ADVERTISER, SCANNER_ACT, SCANNER_PASS,
  CONN_MASTER, CONN_SLAVE
}
 
enum  BleLLState {
  LL_IDLE, LL_ADV_TX_ON, LL_ADV_RX_ON, LL_CONN_RX_ON,
  LL_CONN_TX_ON
}
 

Public Member Functions

 BleLinkLayer (void)
 Default Constructor. More...
 
 BleLinkLayer (BleLinkLayerDeviceTypes type)
 
virtual ~BleLinkLayer (void)
 
void AddWhiteList (Mac48Address addr)
 
void BleConnReqTimeout (void)
 
void BleLLChangeState (BleLLState s)
 Change BLE LL State. More...
 
void BleNoAckTimeout (void)
 
void BleNoPacketTimeout (void)
 
bool CheckWhiteList (Mac48Address addr)
 
void CloseConnection (bool init, bool reason)
 Send close connection packet. More...
 
void CloseConnectionAck (bool reason)
 Close connection procedure after receiving ACK. More...
 
void CreateConnection (void)
 
void CreateManagementPacket (std::string param)
 
void DisableWhiteList (void)
 
void EnableWhiteList (void)
 
BleAccessAddress GetAccessAddress (void) const
 Get Access Address More...
 
Time GetAdvInterval (void) const
 
Time GetAdvListenWindow (void) const
 
BleAdvMode GetAdvMode (void) const
 Get Advertising Mode. More...
 
Mac48Address GetConnAddress (void) const
 Get Conencted Address More...
 
Time GetConnectionInterval (void) const
 Get Connection Interval. More...
 
uint32_t GetCrcInit (void) const
 Get CRC Initialisation Value. More...
 
uint8_t GetFreqHop (void) const
 Get Frequency Hop increment. More...
 
uint8_t GetInitChannelNo (void) const
 initial channel no More...
 
Mac48Address GetMacAddress (void) const
 Get Address. More...
 
bool GetMoreData (void) const
 
bool GetNextSequenceNo (void) const
 
Ptr< BlePhyGetPhy (void) const
 Get PHY Layer. More...
 
Mac48Address GetRxDeviceAddress (void) const
 Get Rx Device Addr – Used in Direct Adv. More...
 
bool GetSequenceNo (void) const
 
uint32_t GetSlaveLatency (void) const
 Get Slave Latency. More...
 
Time GetSupervisionTimeout (void) const
 Get Supervision Timeout. More...
 
Time GetTxWindowOffset (void) const
 Get Transmission windo offset. More...
 
Time GetTxWindowSize (void) const
 Get Transmission Window Size. More...
 
bool IsWhiteListEnabled (void)
 
void ParseConnectionRequestPkt (Ptr< Packet > p)
 
bool RemoveWhiteList (Mac48Address addr)
 
void RxFromL2cap (Ptr< Packet > p)
 
void RxFromPhy (Ptr< Packet > p, uint8_t channelNo)
 
void SendScanRequest (void)
 Create and send Scan Request. More...
 
void SetAccessAddress (BleAccessAddress addr)
 Set Access Address. More...
 
void SetAdvChannelNo (Ptr< Packet const > p)
 Set Random Adv Channel. More...
 
void SetAdvInterval (Time advInt)
 
void SetAdvListenWindow (Time advInt)
 
void SetAdvMode (BleAdvMode m)
 Set Advertising Mode. More...
 
void SetConnAddress (Mac48Address addr)
 Set ConnAddress. More...
 
void SetConnectionInterval (uint16_t t)
 Set Connection Interval. More...
 
void SetCrcInit (uint32_t crcInit)
 Set CRC Initialisation Value. More...
 
void SetFreqHop (uint8_t hop)
 Frequency Hop increment at every connection. More...
 
void SetLinkLayerId (BleLinkLayerHeader::LinkLayerId id)
 Set LinkLayerId. More...
 
void SetMacAddress (Mac48Address addr)
 Set Address. More...
 
void SetMoreData (bool md)
 
void SetNextSequenceNo (bool nesn)
 
void SetPhy (Ptr< BlePhy > p)
 Set PHY Layer. More...
 
void SetRole (BleLinkLayerRole r)
 Change BLE LL Role. More...
 
void SetRxDeviceAddress (Mac48Address addr)
 Set Rx Device Address – Used in Direct Adv. More...
 
void SetSequenceNo (bool sn)
 
void SetSlaveLatency (uint16_t sl)
 Set Slace Latency. More...
 
void SetSupervisionTimeout (uint16_t t)
 Set Supervision Timeout. More...
 
void SetTxWindowOffset (uint16_t t)
 Set Transmission Window Offset. More...
 
void SetTxWindowSize (uint8_t t)
 Set Transmission Window Size. More...
 
void StartConnectionEvent (void)
 
void StopConnectionEvent (void)
 
void TxToL2cap (Ptr< Packet > p, uint8_t int1, uint8_t int2)
 
void TxToPhy (void)
 
- Public Member Functions inherited from ns3::Object
 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...
 
- 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
 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 (void)
 Get the type ID. 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 Attributes

BleAccessAddress m_accessAddr
 
EventId m_ackPending
 
Mac48Address m_addr
 
EventId m_advEvent
 
Time m_advInterval
 
EventId m_advListenEvent
 
Time m_advListenWindow
 
BleAdvMode m_advMode
 Advertising Mode. More...
 
EventId m_closeConnectionEvent
 
bool m_closeConnectionReason
 CloseConnection request reason. More...
 
Mac48Address m_connAddr
 Connected Address MAC Address of device to which this is connected to in case of CONN MAC Address of device to which the SCAN Req is to be sent or was sent. More...
 
EventId m_connEvent
 
Time m_connInterval
 
EventId m_connStopListenEvent
 
uint32_t m_crcInitVal
 
const BleLinkLayerDeviceTypes m_deviceType
 
Time m_expSupervisionTimeout
 
uint8_t m_freqHop
 
uint8_t m_initChannelNo
 
bool m_isConnected
 
bool m_isWhiteList
 
BleLinkLayerHeader::LinkLayerId m_linkLayerId
 
TracedCallback< Ptr< const
Packet > > 
m_linkLayerRxFromL2capTrace
 The traced source fired when a packet is received from L2CAP. More...
 
TracedCallback< Ptr< const
Packet > > 
m_linkLayerRxFromPhyDropTrace
 The trace source fired when a received from PHY dropped. More...
 
TracedCallback< Ptr< const
Packet > > 
m_linkLayerRxFromPhyTrace
 The trace source fired when a packet is received from PHY. More...
 
TracedCallback< Ptr< Packet >
, uint8_t, uint8_t > 
m_linkLayerTxToL2capTrace
 The traces source fired when a packet is transmitted to L2CAP. More...
 
TracedCallback< Ptr< const
Packet > > 
m_linkLayerTxToPhyTrace
 The traced source fired when a packet is transmitted to PHY. More...
 
uint32_t m_maxBufferSize
 
bool m_moreData
 
bool m_nextSeq
 
Ptr< BlePhym_phy
 Connected PHY. More...
 
BleAdvMode m_prevAdvMode
 Keep track of previous Advertising Mode. More...
 
Ptr< UniformRandomVariablem_random
 Uniform random variable stream. More...
 
uint8_t m_reTxInConnEvent
 
TracedValue< BleLinkLayerRolem_role
 
Mac48Address m_rxDeviceAddr
 
Ptr< Packetm_rxPkt
 
std::queue< Ptr< Packet > > m_rxPktBuffer
 
bool m_seqNo
 
uint16_t m_slaveLatency
 
uint8_t m_sleepClockAcc
 
EventId m_stopConnEvent
 
Time m_supervisionTimeout
 
Ptr< Packetm_txPkt
 
std::queue< Ptr< Packet > > m_txPktBuffer
 
std::queue< Ptr< Packet > > m_txPktBuffer_tmp
 
Time m_txWindowOffset
 
Time m_txWindowSize
 
uint32_t m_unlistenedConnEvent
 
std::vector< Mac48Addressm_whiteLists
 

Additional Inherited Members

- Protected Member Functions inherited from ns3::Object
 Object (const Object &o)
 Copy an Object. More...
 
virtual void DoDispose (void)
 Destructor implementation. More...
 
virtual void DoInitialize (void)
 Initialize() implementation. More...
 
virtual void NotifyNewAggregate (void)
 Notify all Objects aggregated to this one of a new Object being aggregated. More...
 
- Protected Member Functions inherited from ns3::ObjectBase
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...
 

Detailed Description

Implementation of LinkLayer of BLE protocol.

Config Paths

ns3::BleLinkLayer is accessible through the following paths with Config::Set and Config::Connect:

  • "/NodeList/[i]/DeviceList/[i]/$ns3::BleNetDevice/LinkLayer"

Attributes

  • Maximum Buffer Size: Size of Tx and Rx buffer of LinkLayer
    • Set with class: ns3::UintegerValue
    • Underlying type: uint32_t 0:4294967295
    • Initial value: 20000000000000000
    • Flags: construct write read

TraceSources

Size of this type is 736 bytes (on a 64-bit architecture).

Definition at line 47 of file ble-linklayer.h.

Member Enumeration Documentation

Enumerator
LL_CONNECTION_UPDATE_REQ 
LL_CHANNEL_MAP_REQ 
LL_TERMINATE_IND 
LL_ENC_REQ 
LL_ENC_RSP 
LL_START_ENC_REQ 
LL_START_ENC_RSP 
LL_UNKNOWN_RSP 
LL_FEATURE_REQ 
LL_FEATURE_RSP 
LL_PAUSE_ENC_REQ 
LL_PAUSE_ENC_RSP 
LL_VERSION_IND 
LL_REJECT_IND 
LL_SLAVE_FEATURE_REQ 
LL_CONNECTION_PARAM_REQ 
LL_CONNECTION_PARAM_RSP 
LL_REJECT_IND_EXT 
LL_PING_REQ 
LL_PING_RSP 
LL_LENGTH_REQ 
LL_LENGTH_RSP 

Definition at line 83 of file ble-linklayer.h.

Enumerator
GENERAL_ADV 
DIRECT_ADV 
NON_CONN_ADV 
DISC_ADV 
SCANNER_RESP 
SCANNER_REQ 
CONN_REQ 

Definition at line 65 of file ble-linklayer.h.

Enumerator
CENTRAL 
PERIPHERAL 

Definition at line 51 of file ble-linklayer.h.

Enumerator
STANDBY 
ADVERTISER 
SCANNER_ACT 
SCANNER_PASS 
CONN_MASTER 
CONN_SLAVE 

Definition at line 56 of file ble-linklayer.h.

Enumerator
LL_IDLE 
LL_ADV_TX_ON 
LL_ADV_RX_ON 
LL_CONN_RX_ON 
LL_CONN_TX_ON 

Definition at line 75 of file ble-linklayer.h.

Constructor & Destructor Documentation

ns3::BleLinkLayer::BleLinkLayer ( void  )

Default Constructor.

ns3::BleLinkLayer::BleLinkLayer ( BleLinkLayerDeviceTypes  type)

Definition at line 84 of file ble-linklayer.cc.

References m_random, m_sleepClockAcc, and NS_LOG_FUNCTION.

ns3::BleLinkLayer::~BleLinkLayer ( void  )
virtual

Definition at line 92 of file ble-linklayer.cc.

References NS_LOG_FUNCTION.

Member Function Documentation

void ns3::BleLinkLayer::AddWhiteList ( Mac48Address  addr)

Definition at line 143 of file ble-linklayer.cc.

References m_whiteLists, and NS_LOG_FUNCTION.

Referenced by RxFromPhy().

+ Here is the caller graph for this function:

void ns3::BleLinkLayer::BleConnReqTimeout ( void  )

Definition at line 900 of file ble-linklayer.cc.

References BleLLChangeState(), DISC_ADV, ns3::UniformRandomVariable::GetValue(), LL_ADV_TX_ON, m_advMode, m_phy, m_random, NON_CONN_ADV, ns3::Simulator::Now(), NS_LOG_DEBUG, NS_LOG_FUNCTION, and ns3::Simulator::ScheduleNow().

Referenced by BleLLChangeState().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::BleLinkLayer::BleLLChangeState ( BleLLState  s)
void ns3::BleLinkLayer::BleNoAckTimeout ( void  )

Definition at line 870 of file ble-linklayer.cc.

References BleLLChangeState(), LL_CONN_TX_ON, m_reTxInConnEvent, NS_LOG_FUNCTION, ns3::Simulator::ScheduleNow(), and StopConnectionEvent().

Referenced by BleLLChangeState().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::BleLinkLayer::BleNoPacketTimeout ( void  )

Definition at line 883 of file ble-linklayer.cc.

References BleLLChangeState(), ns3::UniformRandomVariable::GetValue(), LL_ADV_RX_ON, m_phy, m_random, m_role, ns3::Simulator::Now(), NS_LOG_DEBUG, NS_LOG_FUNCTION, SCANNER_PASS, and ns3::Simulator::ScheduleNow().

Referenced by BleLLChangeState().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

bool ns3::BleLinkLayer::CheckWhiteList ( Mac48Address  addr)

Definition at line 169 of file ble-linklayer.cc.

References m_whiteLists, and NS_LOG_FUNCTION.

Referenced by RxFromPhy().

+ Here is the caller graph for this function:

void ns3::BleLinkLayer::CloseConnection ( bool  init,
bool  reason 
)

Send close connection packet.

Parameters
initWhether Initializer or not
reasonWhether the reason was SupervisionTimeout or not

Definition at line 1358 of file ble-linklayer.cc.

References CloseConnectionAck(), data, ns3::BleLinkLayerHeader::LL_CONTROL_PKT, LL_TERMINATE_IND, m_closeConnectionReason, m_linkLayerId, m_txPktBuffer, ns3::Simulator::Now(), NS_LOG_DEBUG, NS_LOG_FUNCTION, and TxToPhy().

Referenced by BleLLChangeState(), and RxFromPhy().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::BleLinkLayer::CloseConnectionAck ( bool  reason)

Close connection procedure after receiving ACK.

Parameters
reasonWhether the reason was SupervisionTimeout or not

Definition at line 1392 of file ble-linklayer.cc.

References ADVERTISER, BleLLChangeState(), ns3::EventId::Cancel(), CONN_SLAVE, LL_ADV_RX_ON, ns3::BleLinkLayerHeader::LL_START_PKT, m_closeConnectionEvent, m_connEvent, m_connStopListenEvent, m_linkLayerId, m_linkLayerTxToL2capTrace, m_phy, m_role, m_rxPktBuffer, m_stopConnEvent, m_txPktBuffer, m_txPktBuffer_tmp, ns3::MakeCallback(), NS_LOG_FUNCTION, SCANNER_PASS, ns3::Simulator::Schedule(), SetAdvChannelNo(), SetRole(), and ns3::ObjectBase::TraceConnectWithoutContext().

Referenced by CloseConnection(), and RxFromPhy().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::BleLinkLayer::CreateManagementPacket ( std::string  param)

Definition at line 522 of file ble-linklayer.cc.

References NS_LOG_FUNCTION.

Referenced by SetAccessAddress(), SetConnectionInterval(), SetCrcInit(), SetFreqHop(), SetSlaveLatency(), SetSupervisionTimeout(), SetTxWindowOffset(), and SetTxWindowSize().

+ Here is the caller graph for this function:

void ns3::BleLinkLayer::DisableWhiteList ( void  )

Definition at line 136 of file ble-linklayer.cc.

References m_isWhiteList, and NS_LOG_FUNCTION.

void ns3::BleLinkLayer::EnableWhiteList ( void  )

Definition at line 129 of file ble-linklayer.cc.

References m_isWhiteList, and NS_LOG_FUNCTION.

BleAccessAddress ns3::BleLinkLayer::GetAccessAddress ( void  ) const

Get Access Address

Returns
BleAccessAddress instance

Definition at line 275 of file ble-linklayer.cc.

References m_accessAddr, and NS_LOG_FUNCTION.

Time ns3::BleLinkLayer::GetAdvInterval ( void  ) const

Definition at line 206 of file ble-linklayer.cc.

References m_advInterval, and NS_LOG_FUNCTION.

Time ns3::BleLinkLayer::GetAdvListenWindow ( void  ) const

Definition at line 193 of file ble-linklayer.cc.

References m_advListenWindow, and NS_LOG_FUNCTION.

BleLinkLayer::BleAdvMode ns3::BleLinkLayer::GetAdvMode ( void  ) const

Get Advertising Mode.

Returns
Advertisement Mode

Definition at line 228 of file ble-linklayer.cc.

References m_advMode, and NS_LOG_FUNCTION.

Mac48Address ns3::BleLinkLayer::GetConnAddress ( void  ) const

Get Conencted Address

Returns
Mac48Address instance

Definition at line 256 of file ble-linklayer.cc.

References m_connAddr, and NS_LOG_FUNCTION.

Time ns3::BleLinkLayer::GetConnectionInterval ( void  ) const

Get Connection Interval.

Returns
Time instance of Connection Interval

Definition at line 360 of file ble-linklayer.cc.

References m_connInterval, and NS_LOG_FUNCTION.

uint32_t ns3::BleLinkLayer::GetCrcInit ( void  ) const

Get CRC Initialisation Value.

Returns
24-bit CRC Initialisation Value

Definition at line 295 of file ble-linklayer.cc.

References m_crcInitVal, and NS_LOG_FUNCTION.

uint8_t ns3::BleLinkLayer::GetFreqHop ( void  ) const

Get Frequency Hop increment.

Returns
hop

Definition at line 414 of file ble-linklayer.cc.

References m_freqHop, and NS_LOG_FUNCTION.

uint8_t ns3::BleLinkLayer::GetInitChannelNo ( void  ) const

initial channel no

Returns
Channel no 0-36

Definition at line 302 of file ble-linklayer.cc.

References m_initChannelNo, and NS_LOG_FUNCTION.

Mac48Address ns3::BleLinkLayer::GetMacAddress ( void  ) const

Get Address.

Returns
Mac48Address

Definition at line 105 of file ble-linklayer.cc.

References m_addr, and NS_LOG_FUNCTION.

Referenced by RxFromPhy(), and TxToPhy().

+ Here is the caller graph for this function:

bool ns3::BleLinkLayer::GetMoreData ( void  ) const

Definition at line 463 of file ble-linklayer.cc.

References m_moreData, and NS_LOG_FUNCTION.

bool ns3::BleLinkLayer::GetNextSequenceNo ( void  ) const

Definition at line 435 of file ble-linklayer.cc.

References m_nextSeq, and NS_LOG_FUNCTION.

Ptr< BlePhy > ns3::BleLinkLayer::GetPhy ( void  ) const

Get PHY Layer.

Returns
Pointer to PHY connected to LL

Definition at line 122 of file ble-linklayer.cc.

References m_phy, and NS_LOG_FUNCTION.

Mac48Address ns3::BleLinkLayer::GetRxDeviceAddress ( void  ) const

Get Rx Device Addr – Used in Direct Adv.

Returns
Mac48Address instance of device address

Definition at line 242 of file ble-linklayer.cc.

References m_rxDeviceAddr, and NS_LOG_FUNCTION.

bool ns3::BleLinkLayer::GetSequenceNo ( void  ) const

Definition at line 449 of file ble-linklayer.cc.

References m_seqNo, and NS_LOG_FUNCTION.

uint32_t ns3::BleLinkLayer::GetSlaveLatency ( void  ) const

Get Slave Latency.

Returns
Slave Latency

Definition at line 396 of file ble-linklayer.cc.

References m_slaveLatency, and NS_LOG_FUNCTION.

Time ns3::BleLinkLayer::GetSupervisionTimeout ( void  ) const

Get Supervision Timeout.

Returns
Supervison Timeout

Definition at line 378 of file ble-linklayer.cc.

References m_supervisionTimeout, and NS_LOG_FUNCTION.

Time ns3::BleLinkLayer::GetTxWindowOffset ( void  ) const

Get Transmission windo offset.

Returns
Transmission Window Offset

Definition at line 338 of file ble-linklayer.cc.

References m_txWindowOffset, and NS_LOG_FUNCTION.

Time ns3::BleLinkLayer::GetTxWindowSize ( void  ) const

Get Transmission Window Size.

Returns
Transmission Window Size

Definition at line 320 of file ble-linklayer.cc.

References m_txWindowSize, and NS_LOG_FUNCTION.

TypeId ns3::BleLinkLayer::GetTypeId ( void  )
static
bool ns3::BleLinkLayer::IsWhiteListEnabled ( void  )

Definition at line 186 of file ble-linklayer.cc.

References m_isWhiteList, and NS_LOG_FUNCTION.

Referenced by RxFromPhy().

+ Here is the caller graph for this function:

bool ns3::BleLinkLayer::RemoveWhiteList ( Mac48Address  addr)

Definition at line 150 of file ble-linklayer.cc.

References m_whiteLists, and NS_LOG_FUNCTION.

void ns3::BleLinkLayer::RxFromL2cap ( Ptr< Packet p)

Definition at line 478 of file ble-linklayer.cc.

References ADVERTISER, CONN_MASTER, CONN_SLAVE, ns3::Packet::CreateFragment(), ns3::Packet::GetSize(), ns3::Packet::GetUid(), m_linkLayerRxFromL2capTrace, m_role, m_txPktBuffer, m_txPktBuffer_tmp, ns3::Simulator::Now(), NS_LOG_DEBUG, NS_LOG_FUNCTION, and SCANNER_ACT.

Referenced by SendScanRequest().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::BleLinkLayer::RxFromPhy ( Ptr< Packet p,
uint8_t  channelNo 
)

Definition at line 1056 of file ble-linklayer.cc.

References AddWhiteList(), ns3::BleLinkLayerHeader::ADV, ns3::BleLinkLayerHeader::ADV_DIRECT_IND, ns3::BleLinkLayerHeader::ADV_IND, ns3::BleLinkLayerHeader::ADV_NONCONN_IND, ns3::BleLinkLayerHeader::ADV_SCAN_IND, ADVERTISER, BleLLChangeState(), ns3::EventId::Cancel(), ns3::BleLinkLayerTrailer::CheckCrc24(), CheckWhiteList(), CloseConnection(), CloseConnectionAck(), CONN_SLAVE, ns3::BleLinkLayerHeader::CONNECT_REQ, ns3::Packet::CopyData(), data, ns3::BleLinkLayerHeader::DATA, ns3::BleLinkLayerHeader::GetAccessAddress(), ns3::BleLinkLayerHeader::GetAdvPktType(), ns3::BleLinkLayerHeader::GetLinkLayerId(), ns3::BleLinkLayerHeader::GetMacAddress(), GetMacAddress(), ns3::Time::GetMicroSeconds(), ns3::BleLinkLayerHeader::GetMoreData(), ns3::BleLinkLayerHeader::GetNextSequenceNo(), ns3::BleLinkLayerHeader::GetRxMacAddress(), ns3::BleLinkLayerHeader::GetSequenceNo(), ns3::Packet::GetSize(), ns3::Packet::GetUid(), ns3::EventId::IsExpired(), IsWhiteListEnabled(), LL_CONN_TX_ON, ns3::BleLinkLayerHeader::LL_CONTROL_PKT, LL_TERMINATE_IND, m_accessAddr, m_ackPending, m_advEvent, m_closeConnectionEvent, m_closeConnectionReason, m_connAddr, m_connStopListenEvent, m_expSupervisionTimeout, m_initChannelNo, m_isConnected, m_linkLayerRxFromPhyDropTrace, m_linkLayerRxFromPhyTrace, m_linkLayerTxToPhyTrace, m_nextSeq, m_phy, m_reTxInConnEvent, m_role, m_rxPkt, m_rxPktBuffer, m_seqNo, m_supervisionTimeout, m_txPktBuffer, m_unlistenedConnEvent, ns3::Simulator::Now(), NS_LOG_DEBUG, NS_LOG_FUNCTION, ParseConnectionRequestPkt(), ns3::Packet::RemoveHeader(), ns3::Packet::RemoveTrailer(), ns3::BleLinkLayerHeader::SCAN_REQ, ns3::BleLinkLayerHeader::SCAN_RESP, SCANNER_ACT, SCANNER_PASS, ns3::Simulator::Schedule(), ns3::Simulator::ScheduleNow(), ns3::BleLinkLayerHeader::SetType(), TxToL2cap(), and TxToPhy().

Referenced by SetPhy().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::BleLinkLayer::SendScanRequest ( void  )

Create and send Scan Request.

Definition at line 1430 of file ble-linklayer.cc.

References BleLLChangeState(), LL_ADV_RX_ON, NS_LOG_FUNCTION, RxFromL2cap(), SCANNER_REQ, ns3::Simulator::Schedule(), ns3::Simulator::ScheduleNow(), SetAdvMode(), and TxToPhy().

+ Here is the call graph for this function:

void ns3::BleLinkLayer::SetAccessAddress ( BleAccessAddress  addr)

Set Access Address.

Parameters
addrBleAccessAddress instance

Definition at line 263 of file ble-linklayer.cc.

References CONN_MASTER, CONN_SLAVE, CreateManagementPacket(), m_accessAddr, m_role, NS_ASSERT_MSG, and NS_LOG_FUNCTION.

+ Here is the call graph for this function:

void ns3::BleLinkLayer::SetAdvChannelNo ( Ptr< Packet const >  p)

Set Random Adv Channel.

Definition at line 797 of file ble-linklayer.cc.

References ns3::UniformRandomVariable::GetValue(), m_phy, m_random, and NS_LOG_FUNCTION.

Referenced by BleLLChangeState(), and CloseConnectionAck().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::BleLinkLayer::SetAdvInterval ( Time  advInt)

Definition at line 213 of file ble-linklayer.cc.

References m_advInterval, and NS_LOG_FUNCTION.

void ns3::BleLinkLayer::SetAdvListenWindow ( Time  advInt)

Definition at line 200 of file ble-linklayer.cc.

References m_advListenWindow, and NS_LOG_FUNCTION.

void ns3::BleLinkLayer::SetAdvMode ( BleAdvMode  m)

Set Advertising Mode.

Parameters
mBleAdvMode type

Definition at line 220 of file ble-linklayer.cc.

References m_advMode, m_prevAdvMode, and NS_LOG_FUNCTION.

Referenced by SendScanRequest().

+ Here is the caller graph for this function:

void ns3::BleLinkLayer::SetConnAddress ( Mac48Address  addr)

Set ConnAddress.

Parameters
addrMac48Address instance

Definition at line 249 of file ble-linklayer.cc.

References m_connAddr, and NS_LOG_FUNCTION.

void ns3::BleLinkLayer::SetConnectionInterval ( uint16_t  t)

Set Connection Interval.

Parameters
tConnection Interval ConnectionInterval will be t*1.25ms

Definition at line 345 of file ble-linklayer.cc.

References CONN_MASTER, CreateManagementPacket(), ns3::Time::FromDouble(), m_connInterval, m_isConnected, m_role, m_supervisionTimeout, and NS_LOG_FUNCTION.

Referenced by ParseConnectionRequestPkt().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::BleLinkLayer::SetCrcInit ( uint32_t  crcInit)

Set CRC Initialisation Value.

Parameters
crcInit24-bit Integer

Definition at line 282 of file ble-linklayer.cc.

References CONN_MASTER, CONN_SLAVE, CreateManagementPacket(), m_crcInitVal, m_role, NS_ASSERT, NS_ASSERT_MSG, and NS_LOG_FUNCTION.

+ Here is the call graph for this function:

void ns3::BleLinkLayer::SetFreqHop ( uint8_t  hop)

Frequency Hop increment at every connection.

Parameters
hopHop value

Definition at line 403 of file ble-linklayer.cc.

References CONN_MASTER, CreateManagementPacket(), m_freqHop, m_role, and NS_LOG_FUNCTION.

+ Here is the call graph for this function:

void ns3::BleLinkLayer::SetLinkLayerId ( BleLinkLayerHeader::LinkLayerId  id)

Set LinkLayerId.

Parameters
idBleLinkLayerId

Definition at line 421 of file ble-linklayer.cc.

References m_linkLayerId, and NS_LOG_FUNCTION.

void ns3::BleLinkLayer::SetMacAddress ( Mac48Address  addr)

Set Address.

Parameters
addrMac48Address

Definition at line 98 of file ble-linklayer.cc.

References m_addr, and NS_LOG_FUNCTION.

void ns3::BleLinkLayer::SetMoreData ( bool  md)

Definition at line 456 of file ble-linklayer.cc.

References m_moreData, and NS_LOG_FUNCTION.

void ns3::BleLinkLayer::SetNextSequenceNo ( bool  nesn)

Definition at line 428 of file ble-linklayer.cc.

References m_nextSeq, and NS_LOG_FUNCTION.

void ns3::BleLinkLayer::SetPhy ( Ptr< BlePhy p)

Set PHY Layer.

Parameters
phyPointer to BlePhy

Definition at line 112 of file ble-linklayer.cc.

References m_phy, ns3::MakeCallback(), NS_LOG_FUNCTION, RxFromPhy(), and ns3::ObjectBase::TraceConnectWithoutContext().

+ Here is the call graph for this function:

void ns3::BleLinkLayer::SetRole ( BleLinkLayerRole  r)

Change BLE LL Role.

Parameters
rType BleLinkLayerRole

Definition at line 470 of file ble-linklayer.cc.

References ns3::EventId::Cancel(), m_ackPending, m_role, and NS_LOG_FUNCTION.

Referenced by CloseConnectionAck().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::BleLinkLayer::SetRxDeviceAddress ( Mac48Address  addr)

Set Rx Device Address – Used in Direct Adv.

Parameters
addrMac48Address instance

Definition at line 235 of file ble-linklayer.cc.

References m_rxDeviceAddr, and NS_LOG_FUNCTION.

void ns3::BleLinkLayer::SetSequenceNo ( bool  sn)

Definition at line 442 of file ble-linklayer.cc.

References m_seqNo, and NS_LOG_FUNCTION.

void ns3::BleLinkLayer::SetSlaveLatency ( uint16_t  sl)

Set Slace Latency.

Parameters
slSlave Latency

Definition at line 385 of file ble-linklayer.cc.

References CONN_MASTER, CreateManagementPacket(), m_role, m_slaveLatency, and NS_LOG_FUNCTION.

+ Here is the call graph for this function:

void ns3::BleLinkLayer::SetSupervisionTimeout ( uint16_t  t)

Set Supervision Timeout.

Parameters
tSupervision Timeout

Definition at line 367 of file ble-linklayer.cc.

References CONN_MASTER, CreateManagementPacket(), ns3::Time::FromDouble(), m_expSupervisionTimeout, m_role, and NS_LOG_FUNCTION.

Referenced by ParseConnectionRequestPkt().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::BleLinkLayer::SetTxWindowOffset ( uint16_t  t)

Set Transmission Window Offset.

Parameters
tWindow Offset TxWindowOffset will be t*1.25ms

Definition at line 327 of file ble-linklayer.cc.

References CONN_MASTER, CreateManagementPacket(), ns3::Time::FromDouble(), m_role, m_txWindowOffset, and NS_LOG_FUNCTION.

Referenced by ParseConnectionRequestPkt().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::BleLinkLayer::SetTxWindowSize ( uint8_t  t)

Set Transmission Window Size.

Parameters
tWindows size (Time Instance) TxWindowSize will be t*1.25ms

Definition at line 309 of file ble-linklayer.cc.

References CONN_MASTER, CreateManagementPacket(), ns3::Time::FromDouble(), m_role, m_txWindowSize, and NS_LOG_FUNCTION.

Referenced by ParseConnectionRequestPkt().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::BleLinkLayer::StartConnectionEvent ( void  )
void ns3::BleLinkLayer::StopConnectionEvent ( void  )

Definition at line 847 of file ble-linklayer.cc.

References ns3::BlePhy::IDLE, ns3::BleLinkLayerHeader::LL_START_PKT, m_linkLayerId, m_nextSeq, m_phy, m_reTxInConnEvent, m_rxPktBuffer, m_seqNo, m_txPktBuffer, m_unlistenedConnEvent, ns3::Simulator::Now(), NS_LOG_DEBUG, and NS_LOG_FUNCTION.

Referenced by BleNoAckTimeout(), and StartConnectionEvent().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::BleLinkLayer::TxToL2cap ( Ptr< Packet p,
uint8_t  int1,
uint8_t  int2 
)

Definition at line 1324 of file ble-linklayer.cc.

References ns3::Packet::AddAtEnd(), ADVERTISER, ns3::EventId::Cancel(), m_advListenEvent, m_linkLayerTxToL2capTrace, m_role, m_rxPktBuffer, NS_LOG_FUNCTION, SCANNER_ACT, and SCANNER_PASS.

Referenced by RxFromPhy().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::BleLinkLayer::TxToPhy ( void  )

Definition at line 528 of file ble-linklayer.cc.

References ns3::Packet::AddHeader(), ns3::Packet::AddTrailer(), ns3::BleLinkLayerHeader::ADV, ns3::BleLinkLayerHeader::ADV_DIRECT_IND, ns3::BleLinkLayerHeader::ADV_IND, ns3::BleLinkLayerHeader::ADV_NONCONN_IND, ns3::BleLinkLayerHeader::ADV_SCAN_IND, ADVERTISER, BleLLChangeState(), CONN_REQ, ns3::BleLinkLayerHeader::CONNECT_REQ, ns3::BleLinkLayerHeader::DATA, DIRECT_ADV, DISC_ADV, GENERAL_ADV, ns3::BleLinkLayerHeader::GetAdvPktType(), GetMacAddress(), ns3::Time::GetMicroSeconds(), ns3::Packet::GetSize(), ns3::UniformRandomVariable::GetValue(), LL_ADV_TX_ON, LL_CONN_TX_ON, ns3::BleLinkLayerHeader::LL_CONT_PKT, ns3::BleLinkLayerHeader::LL_CONTROL_PKT, ns3::BleLinkLayerHeader::LL_START_PKT, m_accessAddr, m_advMode, m_connAddr, m_crcInitVal, m_linkLayerId, m_linkLayerTxToPhyTrace, m_nextSeq, m_phy, m_random, m_role, m_rxDeviceAddr, m_seqNo, m_txPkt, m_txPktBuffer, m_txPktBuffer_tmp, NON_CONN_ADV, ns3::Simulator::Now(), NS_LOG_DEBUG, NS_LOG_ERROR, NS_LOG_FUNCTION, ns3::BleLinkLayerHeader::RX_ADDR_PUBLIC, ns3::BleLinkLayerHeader::SCAN_REQ, ns3::BleLinkLayerHeader::SCAN_RESP, SCANNER_ACT, SCANNER_PASS, SCANNER_REQ, SCANNER_RESP, ns3::Simulator::Schedule(), ns3::BleLinkLayerHeader::SetAccessAddress(), ns3::BleLinkLayerHeader::SetAdvPktType(), ns3::BleLinkLayerTrailer::SetCrc24(), ns3::BleLinkLayerTrailer::SetCrcInit(), ns3::BleLinkLayerHeader::SetLength(), ns3::BleLinkLayerHeader::SetLinkLayerId(), ns3::BleLinkLayerHeader::SetMacAddress(), ns3::BleLinkLayerHeader::SetMoreData(), ns3::BleLinkLayerHeader::SetNextSequenceNo(), ns3::BleLinkLayerHeader::SetRxAddrType(), ns3::BleLinkLayerHeader::SetRxMacAddress(), ns3::BleLinkLayerHeader::SetSequenceNo(), ns3::BleLinkLayerHeader::SetTxAddrType(), ns3::BleLinkLayerHeader::SetType(), and ns3::BleLinkLayerHeader::TX_ADDR_PUBLIC.

Referenced by ns3::BleSensorApplication::AnalyseResponsePacket(), CloseConnection(), CreateConnection(), ns3::BleApplication::RxFromLinkLayer(), RxFromPhy(), ns3::BleSensorApplication::SendAdvPacket(), ns3::BleApplication::SendRequestPacket(), ns3::BleSensorApplication::SendRequestPacket(), ns3::BleSensorApplication::SendResponsePacket(), SendScanRequest(), ns3::BleSensorApplication::SendScanResponse(), and ns3::BleApplication::StartApplication().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Member Data Documentation

BleAccessAddress ns3::BleLinkLayer::m_accessAddr
private
EventId ns3::BleLinkLayer::m_ackPending
private

Definition at line 701 of file ble-linklayer.h.

Referenced by BleLLChangeState(), RxFromPhy(), and SetRole().

Mac48Address ns3::BleLinkLayer::m_addr
private

Definition at line 482 of file ble-linklayer.h.

Referenced by GetMacAddress(), and SetMacAddress().

EventId ns3::BleLinkLayer::m_advEvent
private

Definition at line 680 of file ble-linklayer.h.

Referenced by BleLLChangeState(), and RxFromPhy().

Time ns3::BleLinkLayer::m_advInterval
private

Definition at line 500 of file ble-linklayer.h.

Referenced by BleLLChangeState(), GetAdvInterval(), and SetAdvInterval().

EventId ns3::BleLinkLayer::m_advListenEvent
private

Definition at line 686 of file ble-linklayer.h.

Referenced by BleLLChangeState(), CreateConnection(), and TxToL2cap().

Time ns3::BleLinkLayer::m_advListenWindow
private

Definition at line 504 of file ble-linklayer.h.

Referenced by BleLLChangeState(), GetAdvListenWindow(), and SetAdvListenWindow().

BleAdvMode ns3::BleLinkLayer::m_advMode
private

Advertising Mode.

Definition at line 508 of file ble-linklayer.h.

Referenced by BleConnReqTimeout(), BleLLChangeState(), CreateConnection(), GetAdvMode(), SetAdvMode(), and TxToPhy().

EventId ns3::BleLinkLayer::m_closeConnectionEvent
private

Definition at line 709 of file ble-linklayer.h.

Referenced by BleLLChangeState(), CloseConnectionAck(), and RxFromPhy().

bool ns3::BleLinkLayer::m_closeConnectionReason
private

CloseConnection request reason.

Definition at line 593 of file ble-linklayer.h.

Referenced by CloseConnection(), and RxFromPhy().

Mac48Address ns3::BleLinkLayer::m_connAddr
private

Connected Address MAC Address of device to which this is connected to in case of CONN MAC Address of device to which the SCAN Req is to be sent or was sent.

Definition at line 532 of file ble-linklayer.h.

Referenced by GetConnAddress(), RxFromPhy(), SetConnAddress(), and TxToPhy().

EventId ns3::BleLinkLayer::m_connEvent
private

Definition at line 691 of file ble-linklayer.h.

Referenced by BleLLChangeState(), CloseConnectionAck(), and StartConnectionEvent().

Time ns3::BleLinkLayer::m_connInterval
private
EventId ns3::BleLinkLayer::m_connStopListenEvent
private

Definition at line 705 of file ble-linklayer.h.

Referenced by CloseConnectionAck(), RxFromPhy(), and StartConnectionEvent().

uint32_t ns3::BleLinkLayer::m_crcInitVal
private
const BleLinkLayerDeviceTypes ns3::BleLinkLayer::m_deviceType
private

Definition at line 486 of file ble-linklayer.h.

Time ns3::BleLinkLayer::m_expSupervisionTimeout
private
uint8_t ns3::BleLinkLayer::m_freqHop
private
uint8_t ns3::BleLinkLayer::m_initChannelNo
private
bool ns3::BleLinkLayer::m_isConnected
private

Definition at line 522 of file ble-linklayer.h.

Referenced by ParseConnectionRequestPkt(), RxFromPhy(), and SetConnectionInterval().

bool ns3::BleLinkLayer::m_isWhiteList
private

Definition at line 526 of file ble-linklayer.h.

Referenced by DisableWhiteList(), EnableWhiteList(), and IsWhiteListEnabled().

TracedCallback<Ptr<const Packet> > ns3::BleLinkLayer::m_linkLayerRxFromL2capTrace
private

The traced source fired when a packet is received from L2CAP.

See Also
class CallBackTraceSource

Definition at line 662 of file ble-linklayer.h.

Referenced by GetTypeId(), and RxFromL2cap().

TracedCallback<Ptr<const Packet> > ns3::BleLinkLayer::m_linkLayerRxFromPhyDropTrace
private

The trace source fired when a received from PHY dropped.

See Also
class CallBackTraceSource

Definition at line 656 of file ble-linklayer.h.

Referenced by GetTypeId(), and RxFromPhy().

TracedCallback<Ptr<const Packet> > ns3::BleLinkLayer::m_linkLayerRxFromPhyTrace
private

The trace source fired when a packet is received from PHY.

See Also
class CallBackTraceSource

Definition at line 650 of file ble-linklayer.h.

Referenced by GetTypeId(), and RxFromPhy().

TracedCallback<Ptr<Packet>, uint8_t, uint8_t > ns3::BleLinkLayer::m_linkLayerTxToL2capTrace
private

The traces source fired when a packet is transmitted to L2CAP.

See Also
class CallBackTraceSource

Definition at line 674 of file ble-linklayer.h.

Referenced by CloseConnectionAck(), GetTypeId(), StartConnectionEvent(), and TxToL2cap().

TracedCallback<Ptr<const Packet> > ns3::BleLinkLayer::m_linkLayerTxToPhyTrace
private

The traced source fired when a packet is transmitted to PHY.

See Also
class CallBackTraceSource

Definition at line 668 of file ble-linklayer.h.

Referenced by GetTypeId(), RxFromPhy(), and TxToPhy().

uint32_t ns3::BleLinkLayer::m_maxBufferSize
private

Definition at line 494 of file ble-linklayer.h.

Referenced by GetTypeId().

bool ns3::BleLinkLayer::m_moreData
private

Definition at line 633 of file ble-linklayer.h.

Referenced by GetMoreData(), and SetMoreData().

bool ns3::BleLinkLayer::m_nextSeq
private
BleAdvMode ns3::BleLinkLayer::m_prevAdvMode
private

Keep track of previous Advertising Mode.

Definition at line 512 of file ble-linklayer.h.

Referenced by BleLLChangeState(), and SetAdvMode().

Ptr<UniformRandomVariable> ns3::BleLinkLayer::m_random
private

Uniform random variable stream.

Definition at line 642 of file ble-linklayer.h.

Referenced by BleConnReqTimeout(), BleLinkLayer(), BleLLChangeState(), BleNoPacketTimeout(), CreateConnection(), SetAdvChannelNo(), and TxToPhy().

uint8_t ns3::BleLinkLayer::m_reTxInConnEvent
private

Definition at line 638 of file ble-linklayer.h.

Referenced by BleNoAckTimeout(), RxFromPhy(), and StopConnectionEvent().

Mac48Address ns3::BleLinkLayer::m_rxDeviceAddr
private

Definition at line 516 of file ble-linklayer.h.

Referenced by GetRxDeviceAddress(), SetRxDeviceAddress(), and TxToPhy().

Ptr<Packet> ns3::BleLinkLayer::m_rxPkt
private

Definition at line 613 of file ble-linklayer.h.

Referenced by RxFromPhy().

std::queue<Ptr<Packet> > ns3::BleLinkLayer::m_rxPktBuffer
private
bool ns3::BleLinkLayer::m_seqNo
private
uint16_t ns3::BleLinkLayer::m_slaveLatency
private
uint8_t ns3::BleLinkLayer::m_sleepClockAcc
private

Definition at line 589 of file ble-linklayer.h.

Referenced by BleLinkLayer(), CreateConnection(), and ParseConnectionRequestPkt().

EventId ns3::BleLinkLayer::m_stopConnEvent
private

Definition at line 697 of file ble-linklayer.h.

Referenced by CloseConnectionAck().

Time ns3::BleLinkLayer::m_supervisionTimeout
private
Ptr<Packet> ns3::BleLinkLayer::m_txPkt
private

Definition at line 617 of file ble-linklayer.h.

Referenced by TxToPhy().

std::queue<Ptr<Packet> > ns3::BleLinkLayer::m_txPktBuffer
private
std::queue<Ptr<Packet> > ns3::BleLinkLayer::m_txPktBuffer_tmp
private

Definition at line 607 of file ble-linklayer.h.

Referenced by CloseConnectionAck(), RxFromL2cap(), and TxToPhy().

Time ns3::BleLinkLayer::m_txWindowOffset
private
Time ns3::BleLinkLayer::m_txWindowSize
private
uint32_t ns3::BleLinkLayer::m_unlistenedConnEvent
private

Definition at line 561 of file ble-linklayer.h.

Referenced by RxFromPhy(), StartConnectionEvent(), and StopConnectionEvent().

std::vector<Mac48Address > ns3::BleLinkLayer::m_whiteLists
private

Definition at line 536 of file ble-linklayer.h.

Referenced by AddWhiteList(), CheckWhiteList(), and RemoveWhiteList().


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