merge with HEAD
This commit is contained in:
@@ -91,7 +91,7 @@ public:
|
||||
* can be stored in an Address instance.
|
||||
*/
|
||||
enum MaxSize_e {
|
||||
MAX_SIZE = 30
|
||||
MAX_SIZE = 20
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
@@ -52,7 +52,7 @@ PacketSocket::GetTypeId (void)
|
||||
|
||||
PacketSocket::PacketSocket () : m_rxAvailable (0)
|
||||
{
|
||||
NS_LOG_FUNCTION_NOARGS ();
|
||||
NS_LOG_FUNCTION (this);
|
||||
m_state = STATE_OPEN;
|
||||
m_shutdownSend = false;
|
||||
m_shutdownRecv = false;
|
||||
@@ -64,40 +64,40 @@ PacketSocket::PacketSocket () : m_rxAvailable (0)
|
||||
void
|
||||
PacketSocket::SetNode (Ptr<Node> node)
|
||||
{
|
||||
NS_LOG_FUNCTION_NOARGS ();
|
||||
NS_LOG_FUNCTION (this << node);
|
||||
m_node = node;
|
||||
}
|
||||
|
||||
PacketSocket::~PacketSocket ()
|
||||
{
|
||||
NS_LOG_FUNCTION_NOARGS ();
|
||||
NS_LOG_FUNCTION (this);
|
||||
}
|
||||
|
||||
void
|
||||
PacketSocket::DoDispose (void)
|
||||
{
|
||||
NS_LOG_FUNCTION_NOARGS ();
|
||||
NS_LOG_FUNCTION (this);
|
||||
m_device = 0;
|
||||
}
|
||||
|
||||
enum Socket::SocketErrno
|
||||
PacketSocket::GetErrno (void) const
|
||||
{
|
||||
NS_LOG_FUNCTION_NOARGS ();
|
||||
NS_LOG_FUNCTION (this);
|
||||
return m_errno;
|
||||
}
|
||||
|
||||
Ptr<Node>
|
||||
PacketSocket::GetNode (void) const
|
||||
{
|
||||
NS_LOG_FUNCTION_NOARGS ();
|
||||
NS_LOG_FUNCTION (this);
|
||||
return m_node;
|
||||
}
|
||||
|
||||
int
|
||||
PacketSocket::Bind (void)
|
||||
{
|
||||
NS_LOG_FUNCTION_NOARGS ();
|
||||
NS_LOG_FUNCTION (this);
|
||||
PacketSocketAddress address;
|
||||
address.SetProtocol (0);
|
||||
address.SetAllDevices ();
|
||||
@@ -107,7 +107,7 @@ PacketSocket::Bind (void)
|
||||
int
|
||||
PacketSocket::Bind (const Address &address)
|
||||
{
|
||||
NS_LOG_FUNCTION_NOARGS ();
|
||||
NS_LOG_FUNCTION (this << address);
|
||||
if (!PacketSocketAddress::IsMatchingType (address))
|
||||
{
|
||||
m_errno = ERROR_INVAL;
|
||||
@@ -120,7 +120,7 @@ PacketSocket::Bind (const Address &address)
|
||||
int
|
||||
PacketSocket::DoBind (const PacketSocketAddress &address)
|
||||
{
|
||||
NS_LOG_FUNCTION_NOARGS ();
|
||||
NS_LOG_FUNCTION (this << address);
|
||||
if (m_state == STATE_BOUND ||
|
||||
m_state == STATE_CONNECTED)
|
||||
{
|
||||
@@ -153,7 +153,7 @@ PacketSocket::DoBind (const PacketSocketAddress &address)
|
||||
int
|
||||
PacketSocket::ShutdownSend (void)
|
||||
{
|
||||
NS_LOG_FUNCTION_NOARGS ();
|
||||
NS_LOG_FUNCTION (this);
|
||||
if (m_state == STATE_CLOSED)
|
||||
{
|
||||
m_errno = ERROR_BADF;
|
||||
@@ -166,7 +166,7 @@ PacketSocket::ShutdownSend (void)
|
||||
int
|
||||
PacketSocket::ShutdownRecv (void)
|
||||
{
|
||||
NS_LOG_FUNCTION_NOARGS ();
|
||||
NS_LOG_FUNCTION (this);
|
||||
if (m_state == STATE_CLOSED)
|
||||
{
|
||||
m_errno = ERROR_BADF;
|
||||
@@ -179,7 +179,7 @@ PacketSocket::ShutdownRecv (void)
|
||||
int
|
||||
PacketSocket::Close(void)
|
||||
{
|
||||
NS_LOG_FUNCTION_NOARGS ();
|
||||
NS_LOG_FUNCTION (this);
|
||||
if (m_state == STATE_CLOSED)
|
||||
{
|
||||
m_errno = ERROR_BADF;
|
||||
@@ -192,7 +192,7 @@ PacketSocket::Close(void)
|
||||
int
|
||||
PacketSocket::Connect(const Address &ad)
|
||||
{
|
||||
NS_LOG_FUNCTION_NOARGS ();
|
||||
NS_LOG_FUNCTION (this << ad);
|
||||
PacketSocketAddress address;
|
||||
if (m_state == STATE_CLOSED)
|
||||
{
|
||||
@@ -233,7 +233,7 @@ PacketSocket::Listen(void)
|
||||
int
|
||||
PacketSocket::Send (Ptr<Packet> p, uint32_t flags)
|
||||
{
|
||||
NS_LOG_FUNCTION_NOARGS ();
|
||||
NS_LOG_FUNCTION (this << p << flags);
|
||||
if (m_state == STATE_OPEN ||
|
||||
m_state == STATE_BOUND)
|
||||
{
|
||||
@@ -278,7 +278,7 @@ PacketSocket::GetTxAvailable (void) const
|
||||
int
|
||||
PacketSocket::SendTo (Ptr<Packet> p, uint32_t flags, const Address &address)
|
||||
{
|
||||
NS_LOG_FUNCTION_NOARGS ();
|
||||
NS_LOG_FUNCTION (this << p << flags << address);
|
||||
PacketSocketAddress ad;
|
||||
if (m_state == STATE_CLOSED)
|
||||
{
|
||||
@@ -351,7 +351,7 @@ PacketSocket::ForwardUp (Ptr<NetDevice> device, Ptr<const Packet> packet,
|
||||
uint16_t protocol, const Address &from,
|
||||
const Address &to, NetDevice::PacketType packetType)
|
||||
{
|
||||
NS_LOG_FUNCTION_NOARGS ();
|
||||
NS_LOG_FUNCTION (this << device << packet << protocol << from << to << packetType);
|
||||
if (m_shutdownRecv)
|
||||
{
|
||||
return;
|
||||
@@ -365,10 +365,11 @@ PacketSocket::ForwardUp (Ptr<NetDevice> device, Ptr<const Packet> packet,
|
||||
|
||||
if ((m_rxAvailable + packet->GetSize ()) <= m_rcvBufSize)
|
||||
{
|
||||
Ptr<Packet> copy = packet->Copy ();
|
||||
SocketAddressTag tag;
|
||||
tag.SetAddress (address);
|
||||
packet->AddTag (tag);
|
||||
m_deliveryQueue.push (packet->Copy ());
|
||||
copy->AddPacketTag (tag);
|
||||
m_deliveryQueue.push (copy);
|
||||
m_rxAvailable += packet->GetSize ();
|
||||
NS_LOG_LOGIC ("UID is " << packet->GetUid() << " PacketSocket " << this);
|
||||
NotifyDataRecv ();
|
||||
@@ -388,7 +389,7 @@ PacketSocket::ForwardUp (Ptr<NetDevice> device, Ptr<const Packet> packet,
|
||||
uint32_t
|
||||
PacketSocket::GetRxAvailable (void) const
|
||||
{
|
||||
NS_LOG_FUNCTION_NOARGS ();
|
||||
NS_LOG_FUNCTION (this);
|
||||
// We separately maintain this state to avoid walking the queue
|
||||
// every time this might be called
|
||||
return m_rxAvailable;
|
||||
@@ -397,7 +398,7 @@ PacketSocket::GetRxAvailable (void) const
|
||||
Ptr<Packet>
|
||||
PacketSocket::Recv (uint32_t maxSize, uint32_t flags)
|
||||
{
|
||||
NS_LOG_FUNCTION_NOARGS ();
|
||||
NS_LOG_FUNCTION (this << maxSize << flags);
|
||||
if (m_deliveryQueue.empty() )
|
||||
{
|
||||
return 0;
|
||||
@@ -418,13 +419,13 @@ PacketSocket::Recv (uint32_t maxSize, uint32_t flags)
|
||||
Ptr<Packet>
|
||||
PacketSocket::RecvFrom (uint32_t maxSize, uint32_t flags, Address &fromAddress)
|
||||
{
|
||||
NS_LOG_FUNCTION_NOARGS ();
|
||||
NS_LOG_FUNCTION (this << maxSize << flags << fromAddress);
|
||||
Ptr<Packet> packet = Recv (maxSize, flags);
|
||||
if (packet != 0)
|
||||
{
|
||||
SocketAddressTag tag;
|
||||
bool found;
|
||||
found = packet->FindFirstMatchingTag (tag);
|
||||
found = packet->PeekPacketTag (tag);
|
||||
NS_ASSERT (found);
|
||||
fromAddress = tag.GetAddress ();
|
||||
}
|
||||
@@ -434,7 +435,7 @@ PacketSocket::RecvFrom (uint32_t maxSize, uint32_t flags, Address &fromAddress)
|
||||
int
|
||||
PacketSocket::GetSockName (Address &address) const
|
||||
{
|
||||
NS_LOG_FUNCTION_NOARGS ();
|
||||
NS_LOG_FUNCTION (this << address);
|
||||
PacketSocketAddress ad = PacketSocketAddress::ConvertFrom(address);
|
||||
|
||||
ad.SetProtocol (m_protocol);
|
||||
|
||||
Reference in New Issue
Block a user