55 lines
1.3 KiB
C
55 lines
1.3 KiB
C
|
|
#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<uint32_t> frerSeqGenStreamList);
|
||
|
|
|
||
|
|
bool IsApplicable(uint32_t streamHandle);
|
||
|
|
uint16_t GetSequenceNumber();
|
||
|
|
|
||
|
|
protected:
|
||
|
|
|
||
|
|
|
||
|
|
private:
|
||
|
|
std::vector<uint32_t> 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 */
|