#ifndef FRER_SEQUENCE_GENERATION_FUNCTION_H #define FRER_SEQUENCE_GENERATION_FUNCTION_H #include "ns3/object.h" namespace ns3 { class SequenceGenerationFunction : public Object { public: /** * \brief Get the TypeId * * \return The TypeId for this class */ static TypeId GetTypeId(); /** * \brief Create a SequenceGenerationFunction */ SequenceGenerationFunction(); /** * Destroy a SequenceGenerationFunction * * This is the destructor for the SequenceGenerationFunction. */ ~SequenceGenerationFunction(); // Delete copy constructor and assignment operator to avoid misuse SequenceGenerationFunction& operator=(const SequenceGenerationFunction&) = delete; SequenceGenerationFunction(const SequenceGenerationFunction&) = delete; void SetStreamHandle(std::vector frerSeqGenStreamList); bool IsApplicable(uint32_t streamHandle); uint16_t GetSequenceNumber(); protected: private: std::vector m_frerSeqGenStreamList; bool m_frerSeqGenDirection; //out-facing (True) or in-facing (False) uint16_t m_GenSeqNum = 0; //802.1CB-2017 7.4.1.2.2 }; } #endif /* FRER_SEQUENCE_GENERATION_FUNCTION_H */