LcgScheduler Class Reference¶
|
Simu5G
|
#include <LcgScheduler.h>
Classes | |
| struct | SortedDesc |
Public Member Functions | |
| LcgScheduler (LteMacUe *mac) | |
| virtual | ~LcgScheduler () |
| virtual void | setUeUlScheduler (LteSchedulerUeUl *ueScheduler) |
Protected Types | |
| typedef std::list< MacCid > | CidList |
| Cid List. | |
Protected Member Functions | |
| virtual bool | checkForPendingAdditionalBsr (Direction grantDir, Lcg lcg) |
Protected Attributes | |
| opp_component_ptr< LteMacUe > | mac_ |
| MAC module, used to get parameters from NED. | |
| LteSchedulerUeUl * | ueScheduler_ = nullptr |
| Associated LteSchedulerUeUl (it is the one who creates the LteScheduler) | |
Detailed Description
UE-side logical channel prioritization (LCP): divides one TTI's UL grant among the UE's outgoing connections, at the granularity Simu5G models – the logical channel group stands in for the per-channel priority of TS 36.321/38.321 sec 5.4.3.1. Groups are served in increasing LCG-index order (strict priority; the PBR token bucket, the full LCP's protection of lower priorities, is not modeled). Within a group the backlogged connections are served round-robin, one SDU (LTE FI) or one PDU carve (NR SO) per turn, so equal-priority connections are served equally and a connection's share does not depend on where bearer-establishment order placed it in the registration map.
Member Typedef Documentation
◆ CidList
Constructor & Destructor Documentation
◆ LcgScheduler()
| LcgScheduler | ( | LteMacUe * | mac | ) |
◆ ~LcgScheduler()
|
inlinevirtual |
Destructor.
Member Function Documentation
◆ setUeUlScheduler()
|
inlinevirtual |
◆ checkForPendingAdditionalBsr()
|
inlineprotectedvirtual |
Hook, called once per LCG during schedule(): returns true if the current UL grant must be withheld so that it can carry the BSR of an active D2D connection instead. Default implementation never withholds (no-op); overridden by LcgSchedulerD2D.
Reimplemented in LcgSchedulerD2D.
Member Data Documentation
◆ mac_
|
protected |
MAC module, used to get parameters from NED.
◆ ueScheduler_
|
protected |
Associated LteSchedulerUeUl (it is the one who creates the LteScheduler)
Referenced by setUeUlScheduler().
Generated by