|
DESERT 4.0.0
|
#include <uw-cs-burst.h>


Public Member Functions | |
| UwCsBurst () | |
| virtual | ~UwCsBurst ()=default |
Protected Types | |
| enum class | UWCS_STATUS { IDLE , SENSING , TRANSMITTING } |
Protected Member Functions | |
| virtual void | txData () |
| virtual void | sensingExpired () |
| virtual void | sensing () |
| virtual void | recvFromUpperLayers (Packet *p) override |
| virtual void | Phy2MacEndRx (Packet *p) override |
| virtual void | Phy2MacStartRx (const Packet *p) override |
| virtual void | Mac2PhyStartTx (Packet *p) |
| virtual void | Phy2MacEndTx (const Packet *p) override |
| virtual void | rxPacketNotForMe (Packet *p) |
| virtual void | initPkt (Packet *p) |
| virtual int | command (int argc, const char *const *argv) override |
Protected Attributes | |
| UWCS_STATUS | tx_status_ |
| double | fix_sens_time_ |
| double | rv_sens_time_ |
| UwSensingTimer | sensing_timer_ |
| std::deque< Packet * > | buffer_ |
| uint | max_queue_size_ |
| uint | max_packet_per_burst_ |
| uint | packet_sent_curr_burst_ |
| uint | n_rx_while_sensing_ |
Friends | |
| class | UwSensingTimer |
Class that represents a CSBURST Node
|
strongprotected |
| UwCsBurst::UwCsBurst | ( | ) |
Constructor of the CSBURST class
References fix_sens_time_, max_packet_per_burst_, max_queue_size_, and rv_sens_time_.
|
virtualdefault |
Destructor of the CSBURST class
|
overrideprotectedvirtual |
TCL command interpreter. It implements the following OTcl methods:
| argc | Number of arguments in argv. |
| argv | Array of strings which are the command parameters (Note that argv[0] is the name of the object). |
References buffer_.
|
protectedvirtual |
Method called to add the MAC header size
| const | Packet* Pointer to an Packet object that rapresent the Packet in transmission |
Referenced by recvFromUpperLayers().
|
protectedvirtual |
Method called when the Mac Layer start to transmit a Packet
| const | Packet* Pointer to an Packet object that rapresent the Packet in transmission |
Referenced by txData().
|
overrideprotectedvirtual |
Method called when the Phy Layer finish to receive a Packet
| const | Packet* Pointer to an Packet object that rapresent the Packet in reception |
References rxPacketNotForMe().

|
overrideprotectedvirtual |
Method called when the Mac Layer finish to transmit a Packet
| const | Packet* Pointer to an Packet object that rapresent the Packet in transmission |
References packet_sent_curr_burst_, and txData().

|
overrideprotectedvirtual |
Method called when the Phy Layer start to receive a Packet
| const | Packet* Pointer to an Packet object that rapresent the Packet in reception |
References n_rx_while_sensing_.
|
overrideprotectedvirtual |
Receive the packet from the upper layer (e.g. IP)
| Packet* | pointer to the packet received |
References buffer_, initPkt(), max_queue_size_, and sensing().

|
protectedvirtual |
Method called when the Packet received is determined to be not for me
| const | Packet* Pointer to an Packet object that rapresent the Packet in reception |
Referenced by Phy2MacEndRx().
|
protectedvirtual |
Start sensing the channel
References fix_sens_time_, IDLE, n_rx_while_sensing_, rv_sens_time_, SENSING, sensing_timer_, and tx_status_.
Referenced by recvFromUpperLayers(), and txData().
|
protectedvirtual |
Sensing timer expired
References fix_sens_time_, n_rx_while_sensing_, packet_sent_curr_burst_, rv_sens_time_, sensing_timer_, TRANSMITTING, tx_status_, and txData().

|
protectedvirtual |
Transmit a data packet if in my slot
References buffer_, IDLE, Mac2PhyStartTx(), max_packet_per_burst_, packet_sent_curr_burst_, sensing(), and tx_status_.
Referenced by Phy2MacEndTx(), and sensingExpired().

|
friend |
|
protected |
Buffer of the MAC node.
Referenced by command(), recvFromUpperLayers(), and txData().
|
protected |
Frame duration.
Referenced by sensing(), sensingExpired(), and UwCsBurst().
|
protected |
Max numer of packet it can transmit in a tx burst.
Referenced by txData(), and UwCsBurst().
|
protected |
Maximum dimension of queue.
Referenced by recvFromUpperLayers(), and UwCsBurst().
|
protected |
Referenced by Phy2MacStartRx(), sensing(), and sensingExpired().
|
protected |
Counter of packet has been sent in the current burst.
Referenced by Phy2MacEndTx(), sensingExpired(), and txData().
|
protected |
Random guard time between slots.
Referenced by sensing(), sensingExpired(), and UwCsBurst().
|
protected |
Carrier sensing timer handler.
Referenced by sensing(), and sensingExpired().
|
protected |
Variable holding the status enum type.
Referenced by sensing(), sensingExpired(), and txData().