66 lines
907 B
C++
66 lines
907 B
C++
|
|
#include "transmission-gate.h"
|
||
|
|
|
||
|
|
#include "ns3/log.h"
|
||
|
|
#include "ns3/packet.h"
|
||
|
|
|
||
|
|
namespace ns3
|
||
|
|
{
|
||
|
|
|
||
|
|
NS_LOG_COMPONENT_DEFINE("TransmissionGate");
|
||
|
|
|
||
|
|
NS_OBJECT_ENSURE_REGISTERED(TransmissionGate);
|
||
|
|
|
||
|
|
TypeId
|
||
|
|
TransmissionGate::GetTypeId()
|
||
|
|
{
|
||
|
|
static TypeId tid =
|
||
|
|
TypeId("ns3::TransmissionGate")
|
||
|
|
.SetParent<Object>()
|
||
|
|
.SetGroupName("Tsn")
|
||
|
|
.AddConstructor<TransmissionGate>();
|
||
|
|
return tid;
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
TransmissionGate::TransmissionGate()
|
||
|
|
{
|
||
|
|
NS_LOG_FUNCTION(this);
|
||
|
|
m_state = OPEN;
|
||
|
|
}
|
||
|
|
|
||
|
|
TransmissionGate::~TransmissionGate()
|
||
|
|
{
|
||
|
|
NS_LOG_FUNCTION(this);
|
||
|
|
}
|
||
|
|
|
||
|
|
bool
|
||
|
|
TransmissionGate::IsOpen()
|
||
|
|
{
|
||
|
|
NS_LOG_FUNCTION(this);
|
||
|
|
if(m_state == OPEN)
|
||
|
|
{
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
else
|
||
|
|
{
|
||
|
|
return false;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
void
|
||
|
|
TransmissionGate::Open()
|
||
|
|
{
|
||
|
|
m_state = OPEN;
|
||
|
|
}
|
||
|
|
|
||
|
|
void
|
||
|
|
TransmissionGate::Close()
|
||
|
|
{
|
||
|
|
m_state = CLOSE;
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
};
|