Files
eden-sim/contrib/tsn/model/frer-vector-recovery-function.h

52 lines
1.2 KiB
C
Raw Normal View History

2025-12-01 15:56:02 +01:00
#ifndef FRER_VECTOR_RECOVERY_FUNCTION_H
#define FRER_VECTOR_RECOVERY_FUNCTION_H
#include "ns3/frer-base-recovery-function.h"
namespace ns3
{
class VectorRecoveryFunction : public BaseRecoveryFunction
{
public:
/**
* \brief Get the TypeId
*
* \return The TypeId for this class
*/
static TypeId GetTypeId();
/**
* \brief Create a VectorRecoveryFunction
*/
VectorRecoveryFunction();
/**
* Destroy a VectorRecoveryFunction
*
* This is the destructor for the VectorRecoveryFunction.
*/
~VectorRecoveryFunction();
// Delete copy constructor and assignment operator to avoid misuse
VectorRecoveryFunction& operator=(const VectorRecoveryFunction&) = delete;
VectorRecoveryFunction(const VectorRecoveryFunction&) = delete;
bool DoRecovery(uint16_t seqNumber) override;
protected:
private:
std::vector<bool> m_sequenceHistory; //802.1CB-2017 : 7.4.3.2.2
int m_frerSeqRcvyHistoryLenght; //802.1CB-2017 : 10.4.1.6
uint m_frerCpsSeqRcvyRoguePackets = 0; //802.1CB-2017 : 10.8.4
uint16_t m_maxFrerSeqRcvyHistoryLenght;
};
}
#endif /* FRER_VECTOR_RECOVERY_FUNCTION_H */