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,83 @@
#include "clock-fix-precision.h"
#include "ns3/log.h"
#include "ns3/simulator.h"
#include "ns3/uinteger.h"
#include <ns3/double.h>
#include "ns3/clock.h"
namespace ns3
{
NS_LOG_COMPONENT_DEFINE("FixPrecisionClock");
NS_OBJECT_ENSURE_REGISTERED(FixPrecisionClock);
TypeId
FixPrecisionClock::GetTypeId()
{
static TypeId tid =
TypeId("ns3::FixPrecisionClock")
.SetParent<Clock>()
.SetGroupName("tsn")
.AddConstructor<FixPrecisionClock>()
.AddAttribute("Precision",
"Fix precision offset according to the reference clock (i.e. GM)",
TimeValue(Time(0)),
MakeTimeAccessor(&FixPrecisionClock::m_precision),
MakeTimeChecker());
return tid;
}
FixPrecisionClock::FixPrecisionClock()
{
NS_LOG_FUNCTION(this);
}
FixPrecisionClock::~FixPrecisionClock()
{
NS_LOG_FUNCTION(this);
}
void
FixPrecisionClock::SetRefClock(Ptr<Clock> refClock)
{
NS_LOG_FUNCTION(this);
m_refClock = refClock;
}
Time
FixPrecisionClock::GetLocalTime()
{
NS_LOG_FUNCTION(this);
return GetUncorrectedLocalTime() + m_precision;
}
Time
FixPrecisionClock::GetUncorrectedLocalTime()
{
NS_LOG_FUNCTION(this);
NS_ASSERT_MSG(m_refClock != nullptr,
"Reference clock no set using void VirtualClock::SetRefClock(Ptr<Clock> refClock)");
return m_refClock->GetUncorrectedLocalTime();
}
Time
FixPrecisionClock::GetTimeAt(Time t)
{
NS_LOG_FUNCTION(this);
return m_precision + m_refClock->GetTimeAt(t);
}
Time
FixPrecisionClock::GetDuration(Time d)
{
NS_LOG_FUNCTION(this);
return m_refClock->GetDuration(d);
}
}