Package: simu5g.stack.d2d.rrc
HandoverControllerD2D
simple moduleD2D-capable variant of the HandoverController. It fills in the handover lifecycle hooks with D2D behavior: switching active D2D flows back to infrastructure mode before a handover, detaching/attaching the D2D AMC direction while executing it, and re-selecting the D2D mode once the handover has completed. Selected via 'handoverController.typename' / 'nrHandoverController.typename' by the D2D-capable UE NICs.
Inheritance diagram
The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.
Extends
| Name | Type | Description |
|---|---|---|
| HandoverController | simple module |
UE-side component that manages handover decisions and procedures. Receives RSSI measurements from the PHY layer based on broadcast frames, and triggers handover when a better serving cell is detected. |
Parameters
| Name | Type | Default value | Description |
|---|---|---|---|
| dynamicCellAssociation | bool | false | |
| enableHandover | bool | false |
Allows handovers in the UE |
| isNr | bool |
Whether this instance is associated with the NR or the LTE stack |
|
| macNodeId | int |
MacNodeId of the stack leg this controller belongs to (set by the NIC) |
|
| handoverLatency | double | 50ms |
Handover duration |
| handoverDetachmentTime | double | handoverLatency > 0s ? handoverLatency/2 : 25ms | |
| handoverAttachmentTime | double | handoverLatency > 0s ? handoverLatency-handoverDetachmentTime : handoverDetachmentTime | |
| minRssiDefault | bool | true |
Whether minRssi is taken from PhyPisaData instead of the minRssi parameter |
| minRssi | double | -99.0dB |
Configurable minimum threshold RSSI for attaching to an eNB (meaningful only if minRssiDefault==false) |
| hysteresisFactor | double | 10 | |
| binderModule | string | "binder" | |
| macModule | string | "^.^.mac" | |
| bearerManagementModule | string | "^.bearerManagement" | |
| handoverPacketHolderModule | string | "^.^.handoverPacketHolder" | |
| feedbackGeneratorModule | string | "^.^.dlFbGen" |
TODO or "^.^.nrDlFbGen" |
| otherHandoverControllerModule | string | "" | |
| hasCollector | bool | false |
True when node has a collector module (ueCollector/nrUeCollector) for this PHY module |
Properties
| Name | Value | Description |
|---|---|---|
| display | i=block/control | |
| class | HandoverControllerD2D |
Signals
| Name | Type | Unit | Description |
|---|---|---|---|
| servingCell |
Statistics
| Name | Title | Source | Record | Unit | Interpolation Mode | Description |
|---|---|---|---|---|---|---|
| servingCell | ID of the serving cell for the UE | servingCell | vector |
Source code
// // D2D-capable variant of the ~HandoverController. It fills in the handover // lifecycle hooks with D2D behavior: switching active D2D flows back to // infrastructure mode before a handover, detaching/attaching the D2D AMC // direction while executing it, and re-selecting the D2D mode once the // handover has completed. Selected via 'handoverController.typename' / // 'nrHandoverController.typename' by the D2D-capable UE NICs. // simple HandoverControllerD2D extends HandoverController { parameters: @class(HandoverControllerD2D); }File: src/simu5g/stack/d2d/rrc/HandoverControllerD2D.ned