Public Member Functions | |
UmtsMacModule () | |
~UmtsMacModule () | |
void | recv (Packet *p) |
int | command (int argc, const char *const *argv) |
virtual void | schedule (Packet *p) |
virtual void | transmit () |
Protected Attributes | |
int | src_rlc_id_ |
int | dst_rlc_id_ |
int | me_code_id_ |
double | slot_duration_ |
int | TTI_PDUs_ |
duration of a slot within a TTI | |
double | TTI_ |
number of slots in a TTI_ | |
double | interleaving_ |
TTI duration. | |
std::queue< Packet * > | Q |
UmtsMacTimer | tx_timer |
MAC queue used for packet scheduling. | |
Event | tx_event |
Timer used to schedule transmissions. | |
double | initslotoffset_ |
Definition at line 58 of file mac-module.h.
void UmtsMacModule::recv | ( | Packet * | p | ) | [virtual] |
Abstract method which has to be filled with the ad-hoc operations that the module has to do to the packet received
p | pointer to the packet will be received |
Implements Module.
Definition at line 112 of file mac-module.cc.
References hdr_umtsphy::data, DOWN, Module::drop(), dst_rlc_id_, hdr_rlc::dst_rlc_id_, schedule(), Module::sendUp(), src_rlc_id_, and UP.
Here is the call graph for this function:
int UmtsMacModule::command | ( | int | argc, | |
const char *const * | argv | |||
) | [virtual] |
TCL command interpreter. It implements the following OTcl methods:
Moreover it inherits all the OTcl method of PlugIn
argc | number of arguments in argv | |
argv | array of strings which are the comand parameters (Note that argv[0] is the name of the object) |
Reimplemented from Module.
Definition at line 69 of file mac-module.cc.
References Module::command(), initslotoffset_, slot_duration_, tx_event, and tx_timer.
Here is the call graph for this function:
void UmtsMacModule::schedule | ( | Packet * | p | ) | [virtual] |
int UmtsMacModule::dst_rlc_id_ [protected] |
id of the RLC connected above this MAC (if this MAC is at a BS, the upper RLC entity might be in the RNC and connected to this MAC by means of the Iub interface)
Definition at line 77 of file mac-module.h.
Referenced by recv(), transmit(), and UmtsMacModule().
int UmtsMacModule::me_code_id_ [protected] |
the id of the other RLC instance connected to the RLC above this MAC
Definition at line 79 of file mac-module.h.
Referenced by transmit(), and UmtsMacModule().
double UmtsMacModule::slot_duration_ [protected] |
corresponding to dst_rlc_id. Note that it is used only in the core network to determine which is the destination. It is not de facto used at Mobile Equipments since all base station attempt to receive all incoming transmissions anyway.
Definition at line 87 of file mac-module.h.
Referenced by command(), transmit(), and UmtsMacModule().
std::queue<Packet*> UmtsMacModule::Q [protected] |
interleaving duration. In practice, delay between MAC and PHY
Definition at line 94 of file mac-module.h.
Referenced by schedule(), and transmit().
double UmtsMacModule::initslotoffset_ [protected] |
Almost unused, it is only required by the interface... maybe using a NULL pointer instead?
Definition at line 102 of file mac-module.h.
Referenced by command(), and UmtsMacModule().