21 #ifndef SATELLITE_HANDOVER_MODULE_H
22 #define SATELLITE_HANDOVER_MODULE_H
26 #include <ns3/callback.h>
27 #include <ns3/node-container.h>
29 #include <ns3/nstime.h>
30 #include <ns3/object.h>
86 NodeContainer satellites,
87 Ptr<SatAntennaGainPatternContainer> agpContainer);
GeoCoordinate class is used to store and operate with geodetic coordinates.
void HandoverFinished()
Method to call when a handover has been performed.
HandoverDecisionAlgorithm_t m_handoverDecisionAlgorithm
Algorithm used to detect if handover is needed.
uint32_t GetAskedBeamId()
Get the best beam ID.
~SatHandoverModule()
Destroy a SatHandoverModule.
void SetHandoverRequestCallback(SatHandoverModule::HandoverRequestCallback cb)
Set the handover recommendation message sending callback.
HandoverRequestCallback m_handoverCallback
virtual TypeId GetInstanceTypeId(void) const
Derived from Object.
HandoverDecisionAlgorithm_t
SatHandoverModule()
Default constructor, which is not used.
bool CheckForHandoverRecommendation(uint32_t satId, uint32_t beamId)
Inspect whether or not the given beam is still suitable for the underlying mobility model.
Time m_repeatRequestTimeout
virtual void DoDispose()
Dispose of this class instance.
NodeContainer m_satellites
std::pair< uint32_t, uint32_t > AlgorithmNClosest(GeoCoordinate coords)
Handover algorithm choosing best beam between N closest satellites.
TracedCallback< double > m_antennaGainTrace
Ptr< SatAntennaGainPatternContainer > m_antennaGainPatterns
uint32_t GetAskedSatId()
Get the best sat ID.
uint32_t m_numberClosestSats
Number of satellites to consider when using algorithm SAT_N_CLOSEST_SAT.
std::vector< uint32_t > GetNClosestSats(uint32_t numberOfSats)
Get the N closest satellites to the UT node.
static TypeId GetTypeId(void)
Derived from Object.
Callback< void, uint32_t, uint32_t > HandoverRequestCallback
Handover recommendation message sending callback.
SatArqSequenceNumber is handling the sequence numbers for the ARQ process.