Update README and add contrib dir

This commit is contained in:
2025-12-01 15:56:02 +01:00
parent 1b80de2153
commit cd9ba93d58
150 changed files with 25563 additions and 0 deletions

View File

@@ -0,0 +1,71 @@
#ifndef TSN_TRANSMISSION_SELECTION_ALGO_H
#define TSN_TRANSMISSION_SELECTION_ALGO_H
#include "ns3/object.h"
#include "ns3/packet.h"
#include "ns3/nstime.h"
#include "ns3/tsn-net-device.h"
namespace ns3
{
class TsnNetDevice;
class TsnTransmissionSelectionAlgo: public Object
{
public:
/**
* \brief Get the TypeId
*
* \return The TypeId for this class
*/
static TypeId GetTypeId();
/**
* \brief Create a TsnTransmissionSelectionAlgo
*/
TsnTransmissionSelectionAlgo();
/**
* Destroy a TsnTransmissionSelectionAlgo
*
* This is the destructor for the TsnTransmissionSelectionAlgo.
*/
~TsnTransmissionSelectionAlgo();
// Delete copy constructor and assignment operator to avoid misuse
TsnTransmissionSelectionAlgo& operator=(const TsnTransmissionSelectionAlgo&) = delete;
TsnTransmissionSelectionAlgo(const TsnTransmissionSelectionAlgo&) = delete;
void SetTsnNetDevice(Ptr<TsnNetDevice> net);
void SetQueue(Ptr<Queue<Packet>> queue);
virtual bool IsReadyToTransmit();
virtual void TransmitStart(Ptr<Packet> p, Time txTime);
virtual void TransmitComplete(Ptr<Packet> p);
virtual void UpdateTransmissionGate(bool IsOpen);
Time GetHardwareLatency();
protected:
Ptr<TsnNetDevice> m_net;
Ptr<Queue<Packet>> m_queue;
bool m_transmissionGateIsOpen;
bool m_MultidropMode;
Callback<void> ReadyToTransmitCallback;
private:
Time m_minLatencyOverhead;
Time m_maxLatencyOverhead;
};
}
#endif /* TSN_TRANSMISSION_SELECTION_ALGO_H */