Public Member Functions |
void | SetCcaRequestCallback (PLC_CcaRequestCallback c) |
void | RequestCca () |
void | StartCsmaCa (void) |
void | RandomBackoffDelay () |
void | CcaConfirm (PLC_PhyCcaResult status) |
void | CsmaCaConfirm (PLC_CsmaCaState state) |
virtual void | NotifyCcaConfirm (PLC_PhyCcaResult status)=0 |
virtual void | NotifyCsmaCaConfirm (PLC_CsmaCaState state)=0 |
void | SetMacDataCallback (PLC_MacDataCallback c) |
void | SetTransmissionFailedCallback (PLC_MacTransmissionFailedCallback c) |
void | SetPromiscuousMacDataCallback (PLC_MacDataCallback c) |
void | SetMacAcknowledgementCallback (PLC_MacAcknowledgementCallback c) |
void | SetAddress (Mac48Address addr) |
Mac48Address | GetAddress (void) |
void | SetBroadcastAddress (Mac48Address addr) |
Mac48Address | GetBroadcastAddress (void) |
void | SetMulticastAddress (Mac48Address addr) |
Mac48Address | GetMulticastAddress (void) |
bool | Send (Ptr< Packet > p, Mac48Address dst) |
bool | SendFrom (Ptr< Packet > p, Mac48Address src, Mac48Address dst) |
void | SetPhy (Ptr< PLC_Phy > phy) |
Ptr< PLC_Phy > | GetPhy (void) |
virtual void | NotifyTransmissionEnd (void)=0 |
void | NotifyReceptionEndOk (Ptr< const Packet > p) |
Static Public Member Functions |
static TypeId | GetTypeId (void) |
Protected Member Functions |
virtual void | DoStart (void) |
virtual void | DoDispose (void) |
virtual bool | DoSendFrom (Ptr< Packet > p, Mac48Address src, Mac48Address dst)=0 |
virtual void | DoProcess (Ptr< const Packet > p)=0 |
virtual void | DoSetPhy (Ptr< PLC_Phy > phy)=0 |
virtual Ptr< PLC_Phy > | DoGetPhy (void)=0 |
Protected Attributes |
Mac48Address | m_address |
Mac48Address | m_broadcast_address |
Mac48Address | m_multicast_address |
bool | m_csmaca_active |
bool | m_promiscuous_mode |
uint32_t | m_csmaca_attempts |
uint8_t | m_NB |
uint8_t | m_BE |
uint8_t | m_macMinBE |
uint8_t | m_macMaxBE |
uint8_t | m_macMaxCSMABackoffs |
uint64_t | m_aUnitBackoffPeriod |
EventId | m_requestCCAEvent |
EventId | m_backoffEndEvent |
PLC_MacDataCallback | m_data_callback |
PLC_MacTransmissionFailedCallback | m_transmission_failed_callback |
PLC_MacDataCallback | m_promiscuous_data_callback |
PLC_MacAcknowledgementCallback | m_acknowledgement_callback |
PLC_CcaRequestCallback | m_cca_request_callback |
Static Protected Attributes |
static std::map< Mac48Address,
Ptr< PLC_Mac > > | mac_list = std::map<Mac48Address, Ptr<PLC_Mac> > () |
Abstract base class for PLC MAC layers implementing 48 bit addressing and channel access via CSMA/CA algorithm