overloaded Recv() method suggested by Gustavo
authorTom Henderson <tomh@tomh.org>
Fri, 02 May 2008 09:38:18 -0700
changeset 3103 91c6fce46125
parent 3102 a225be367c1d
child 3104 24d9d9aa0977
overloaded Recv() method suggested by Gustavo
examples/wifi-adhoc.cc
samples/main-simple.cc
src/applications/packet-sink/packet-sink.cc
src/applications/udp-echo/udp-echo-client.cc
src/applications/udp-echo/udp-echo-server.cc
src/node/socket.cc
src/node/socket.h
src/routing/olsr/olsr-agent-impl.cc
--- a/examples/wifi-adhoc.cc	Fri May 02 09:21:01 2008 -0700
+++ b/examples/wifi-adhoc.cc	Fri May 02 09:38:18 2008 -0700
@@ -93,9 +93,7 @@
 Experiment::ReceivePacket (Ptr<Socket> socket)
 {
   Ptr<Packet> packet;
-  uint32_t maxSize = std::numeric_limits<uint32_t>::max();
-  uint32_t flags = 0;  // no flags
-  while (packet = socket->Recv (maxSize, flags))
+  while (packet = socket->Recv ())
     {
       m_bytesTotal += packet->GetSize ();
     }
--- a/samples/main-simple.cc	Fri May 02 09:21:01 2008 -0700
+++ b/samples/main-simple.cc	Fri May 02 09:38:18 2008 -0700
@@ -26,9 +26,7 @@
 SocketPrinter (Ptr<Socket> socket)
 {
   Ptr<Packet> packet;
-  uint32_t maxSize = std::numeric_limits<uint32_t>::max();
-  uint32_t flags = 0;  // no flags
-  while (packet = socket->Recv (maxSize, flags))
+  while (packet = socket->Recv ())
     { 
       std::cout << "at=" << Simulator::Now ().GetSeconds () << "s, rx bytes=" << packet->GetSize () << std::endl;
     }
--- a/src/applications/packet-sink/packet-sink.cc	Fri May 02 09:21:01 2008 -0700
+++ b/src/applications/packet-sink/packet-sink.cc	Fri May 02 09:38:18 2008 -0700
@@ -105,9 +105,7 @@
 void PacketSink::HandleRead (Ptr<Socket> socket)
 {
   Ptr<Packet> packet;
-  uint32_t maxSize = std::numeric_limits<uint32_t>::max();
-  uint32_t flags = 0;  // no flags
-  while (packet = socket->Recv (maxSize, flags))
+  while (packet = socket->Recv ())
     {
       SocketRxAddressTag tag;
       bool found = packet->PeekTag (tag);
--- a/src/applications/udp-echo/udp-echo-client.cc	Fri May 02 09:21:01 2008 -0700
+++ b/src/applications/udp-echo/udp-echo-client.cc	Fri May 02 09:38:18 2008 -0700
@@ -152,9 +152,7 @@
 {
   NS_LOG_FUNCTION (this << socket);
   Ptr<Packet> packet;
-  uint32_t maxSize = std::numeric_limits<uint32_t>::max();
-  uint32_t flags = 0;  // no flags
-  while (packet = socket->Recv (maxSize, flags))
+  while (packet = socket->Recv ())
     {
       SocketRxAddressTag tag;
       bool found = packet->PeekTag (tag);
--- a/src/applications/udp-echo/udp-echo-server.cc	Fri May 02 09:21:01 2008 -0700
+++ b/src/applications/udp-echo/udp-echo-server.cc	Fri May 02 09:38:18 2008 -0700
@@ -97,9 +97,7 @@
 UdpEchoServer::HandleRead (Ptr<Socket> socket)
 {
   Ptr<Packet> packet;
-  uint32_t maxSize = std::numeric_limits<uint32_t>::max();
-  uint32_t flags = 0;  // no flags
-  while (packet = socket->Recv (maxSize, flags))
+  while (packet = socket->Recv ())
     {
       SocketRxAddressTag tag;
       bool found = packet->PeekTag (tag); 
--- a/src/node/socket.cc	Fri May 02 09:21:01 2008 -0700
+++ b/src/node/socket.cc	Fri May 02 09:38:18 2008 -0700
@@ -107,6 +107,12 @@
   return Send (p);
 }
 
+Ptr<Packet>
+Socket::Recv (void)
+{
+  return Recv (std::numeric_limits<uint32_t>::max(), 0);
+}
+
 int Socket::SendTo (const Address &address, const uint8_t* buf, uint32_t size)
 {
   NS_LOG_FUNCTION_NOARGS ();
--- a/src/node/socket.h	Fri May 02 09:21:01 2008 -0700
+++ b/src/node/socket.h	Fri May 02 09:38:18 2008 -0700
@@ -263,6 +263,16 @@
    * to the maxSize and flags.
    */
   virtual Ptr<Packet> Recv (uint32_t maxSize, uint32_t flags) = 0;
+  /**
+   * \brief Read a single packet from the socket
+   *
+   *      Overloaded version of Recv(maxSize, flags) with maxSize
+   *      implicitly set to maximum sized integer, and flags set to zero.
+   *
+   * \returns Ptr<Packet> of the next in-sequence packet.  Returns
+   * 0 if the socket cannot return a next in-sequence packet.
+   */
+   Ptr<Packet> Recv (void);
 
 protected:
   void NotifyCloseCompleted (void);
--- a/src/routing/olsr/olsr-agent-impl.cc	Fri May 02 09:21:01 2008 -0700
+++ b/src/routing/olsr/olsr-agent-impl.cc	Fri May 02 09:38:18 2008 -0700
@@ -310,9 +310,7 @@
 AgentImpl::RecvOlsr (Ptr<Socket> socket)
 {
   Ptr<Packet> receivedPacket;
-  uint32_t maxSize = std::numeric_limits<uint32_t>::max();
-  uint32_t flags = 0;  // no flags
-  receivedPacket = socket->Recv (maxSize, flags);
+  receivedPacket = socket->Recv ();
 
   SocketRxAddressTag tag;
   bool found = receivedPacket->PeekTag (tag);