Binder.h Source File¶
|
Simu5G
|
Binder.h
4// Copyright (C) 2012-2021 Giovanni Nardini, Giovanni Stea, Antonio Virdis et al. (University of Pisa)
60 // Consolidated node information - replaces nodeIds_, macNodeIdToModuleName_, macNodeIdToModuleRef_, macNodeIdToModule_
112 typedef std::map<GHz, std::vector<std::vector<std::vector<UeAllocationInfo>>>> UplinkTransmissionMap;
113 // for each carrier frequency, for both previous and current TTIs, for each RB, stores the UE (nodeId and ref to the PHY module) that transmitted/are transmitting within that RB
117 // TTI of the last UL transmission (used for optimization purposes, see initAndResetUlTransmissionInfo() )
195 virtual void registerCarrier(GHz carrierFrequency, unsigned int carrierNumBands, unsigned int numerologyIndex,
201 virtual void registerCarrierUe(GHz carrierFrequency, unsigned int numerologyIndex, MacNodeId ueId);
221 virtual NumerologyIndex getNumerologyIndexFromCarrierFreq(GHz carrierFreq) { return carrierFreqToNumerologyIndex_[carrierFreq]; }
226 virtual double getSlotDurationFromNumerologyIndex(NumerologyIndex numerologyIndex) { return pow(2.0, (-1) * (int)numerologyIndex) / 1000.0; }
231 virtual SlotFormat computeSlotFormat(bool useTdd, unsigned int tddNumSymbolsDl, unsigned int tddNumSymbolsUl);
242 virtual void registerNode(MacNodeId nodeId, cModule *nodeModule, RanNodeType type, bool isNr = false);
264 virtual void registerUserPlaneNode(UserPlaneNodeControl *module, CoreNodeType type, const std::string& gateway);
265 const std::vector<UserPlaneNodeRegistration>& getUserPlaneNodes() const { return userPlaneNodes_; }
296 virtual bool nodeExists(MacNodeId nodeId) { return nodeInfoMap_.find(nodeId) != nodeInfoMap_.end(); }
326 //TODO add MacNodeId ueId arg: In LTE DC, the roles (master/secondary) are per UE, not per bearer.
482 virtual void registerMecHostUpfAddress(const inet::L3Address& mecHostAddress, const inet::L3Address& gtpAddress);
575 virtual void storeUlTransmissionMap(GHz carrierFreq, Remote antenna, RbMap& rbMap, MacNodeId nodeId, MacCellId cellId, PhyBase *phy, Direction dir);
576 virtual void storeUlTransmissionMap(GHz carrierFreq, Remote antenna, RbMap& rbMap, MacNodeId nodeId, MacCellId cellId, TrafficGeneratorBase *trafficGen, Direction dir); // overloaded function for bgUes
577 virtual const std::vector<std::vector<UeAllocationInfo>> *getUlTransmissionMap(GHz carrierFreq, UlTransmissionMapTTI t);
601 // Get existing multicast destination ID for a multicast address (returns NODEID_NONE if not found)
622 virtual void addUeCollectorToEnodeB(MacNodeId ue, UeStatsCollector *ueCollector, MacCellId cell);
virtual bool isNrNodeB(MacNodeId nodeB)
static simsignal_t nodeUnregisteredSignal_
Definition Binder.h:250
virtual void setMacNodeId(const inet::L3Address &address, MacNodeId nodeId)
Definition Binder.h:434
virtual void registerMecHostUpfAddress(const inet::L3Address &mecHostAddress, const inet::L3Address >pAddress)
virtual cModule * getModuleByMacNodeId(MacNodeId nodeId)
virtual std::vector< inet::L3Address > getAddresses(MacNodeId nodeId)
Definition Binder.h:409
virtual MacNodeId getSecondaryNode(MacNodeId masterEnbId)
virtual MacNodeId getUeNodeId(MacNodeId ue, bool isNr)
virtual void unsetMacNodeId(const inet::L3Address &address, MacNodeId nodeId)
Definition Binder.h:447
virtual SlotFormat computeSlotFormat(bool useTdd, unsigned int tddNumSymbolsDl, unsigned int tddNumSymbolsUl)
virtual MacNodeId getMacNodeId(const inet::L3Address &address)
Definition Binder.h:340
virtual void registerNode(MacNodeId nodeId, cModule *nodeModule, RanNodeType type, bool isNr=false)
virtual const UeSet & getCarrierUeSet(GHz carrierFrequency)
virtual void registerCarrierUe(GHz carrierFrequency, unsigned int numerologyIndex, MacNodeId ueId)
virtual void setX2NodeId(const inet::L3Address &address, X2NodeId nodeId)
Definition Binder.h:460
virtual void unregisterNode(MacNodeId id)
virtual void registerCarrier(GHz carrierFrequency, unsigned int carrierNumBands, unsigned int numerologyIndex, bool useTdd=false, unsigned int tddNumSymbolsDl=0, unsigned int tddNumSymbolsUl=0)
virtual MacNodeId getServingNodeOrSelf(MacNodeId nodeId)
virtual NumerologyIndex getNumerologyIndexFromCarrierFreq(GHz carrierFreq)
Definition Binder.h:221
virtual void registerServingNode(MacNodeId enbId, MacNodeId ueId)
virtual SlotFormat getSlotFormat(GHz carrierFrequency)
virtual NumerologyIndex getUeMaxNumerologyIndex(MacNodeId ueId)
virtual const std::set< NumerologyIndex > * getUeNumerologyIndex(MacNodeId ueId)
virtual const inet::L3Address & getUpfFromMecHost(const inet::L3Address &mecHostAddress)
virtual MacNodeId getNrMacNodeId(const inet::L3Address &address)
Definition Binder.h:358
virtual MacNodeId getMasterNodeOrSelf(MacNodeId secondaryEnbId)
virtual void unregisterServingNode(MacNodeId enbId, MacNodeId ueId)
virtual void registerMecHost(const inet::L3Address &mecHostAddress)
virtual void registerUserPlaneNode(UserPlaneNodeControl *module, CoreNodeType type, const std::string &gateway)
virtual bool isMecHost(const inet::L3Address &mecHostAddress)
virtual X2NodeId getX2NodeId(const inet::L3Address &address)
Definition Binder.h:424
virtual MacNodeId getServingNode(MacNodeId ueId)
virtual cModule * getNodeModule(MacNodeId nodeId)
virtual double getSlotDurationFromNumerologyIndex(NumerologyIndex numerologyIndex)
Definition Binder.h:226
virtual void registerMasterNode(MacNodeId masterId, MacNodeId slaveId)
virtual inet::Ipv4Address getIPv4Address(MacNodeId nodeId)
Definition Binder.h:392
Definition UeStatsCollector.h:40
Definition UserPlaneNodeControl.h:38
Definition AlertReceiver.h:24
MacNodeId X2NodeId
X2 node ID. It is equal to the eNodeB MAC Cell ID.
Definition LteTypes.h:69
MacNodeId MacCellId
Cell node ID. It is numerically equal to eNodeB MAC node ID.
Definition LteTypes.h:66
Generated by