diff --git a/examples/wifi-adhoc.cc b/examples/wifi-adhoc.cc index ee2d8d32a..3bc51ed50 100644 --- a/examples/wifi-adhoc.cc +++ b/examples/wifi-adhoc.cc @@ -93,9 +93,7 @@ void Experiment::ReceivePacket (Ptr socket) { Ptr packet; - uint32_t maxSize = std::numeric_limits::max(); - uint32_t flags = 0; // no flags - while (packet = socket->Recv (maxSize, flags)) + while (packet = socket->Recv ()) { m_bytesTotal += packet->GetSize (); } diff --git a/samples/main-simple.cc b/samples/main-simple.cc index eddf69b32..d8878be4b 100644 --- a/samples/main-simple.cc +++ b/samples/main-simple.cc @@ -26,9 +26,7 @@ static void SocketPrinter (Ptr socket) { Ptr packet; - uint32_t maxSize = std::numeric_limits::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; } diff --git a/src/applications/packet-sink/packet-sink.cc b/src/applications/packet-sink/packet-sink.cc index d55fdf720..c35c8e4d7 100644 --- a/src/applications/packet-sink/packet-sink.cc +++ b/src/applications/packet-sink/packet-sink.cc @@ -105,9 +105,7 @@ void PacketSink::StopApplication() // Called at time specified by Stop void PacketSink::HandleRead (Ptr socket) { Ptr packet; - uint32_t maxSize = std::numeric_limits::max(); - uint32_t flags = 0; // no flags - while (packet = socket->Recv (maxSize, flags)) + while (packet = socket->Recv ()) { SocketRxAddressTag tag; bool found = packet->PeekTag (tag); diff --git a/src/applications/udp-echo/udp-echo-client.cc b/src/applications/udp-echo/udp-echo-client.cc index a68b600e4..b452c3d86 100644 --- a/src/applications/udp-echo/udp-echo-client.cc +++ b/src/applications/udp-echo/udp-echo-client.cc @@ -152,9 +152,7 @@ UdpEchoClient::HandleRead (Ptr socket) { NS_LOG_FUNCTION (this << socket); Ptr packet; - uint32_t maxSize = std::numeric_limits::max(); - uint32_t flags = 0; // no flags - while (packet = socket->Recv (maxSize, flags)) + while (packet = socket->Recv ()) { SocketRxAddressTag tag; bool found = packet->PeekTag (tag); diff --git a/src/applications/udp-echo/udp-echo-server.cc b/src/applications/udp-echo/udp-echo-server.cc index 4472d02b1..bfbfde1b4 100644 --- a/src/applications/udp-echo/udp-echo-server.cc +++ b/src/applications/udp-echo/udp-echo-server.cc @@ -97,9 +97,7 @@ void UdpEchoServer::HandleRead (Ptr socket) { Ptr packet; - uint32_t maxSize = std::numeric_limits::max(); - uint32_t flags = 0; // no flags - while (packet = socket->Recv (maxSize, flags)) + while (packet = socket->Recv ()) { SocketRxAddressTag tag; bool found = packet->PeekTag (tag); diff --git a/src/node/socket.cc b/src/node/socket.cc index ad2747094..528ea79a9 100644 --- a/src/node/socket.cc +++ b/src/node/socket.cc @@ -107,6 +107,12 @@ int Socket::Send (const uint8_t* buf, uint32_t size) return Send (p); } +Ptr +Socket::Recv (void) +{ + return Recv (std::numeric_limits::max(), 0); +} + int Socket::SendTo (const Address &address, const uint8_t* buf, uint32_t size) { NS_LOG_FUNCTION_NOARGS (); diff --git a/src/node/socket.h b/src/node/socket.h index b2b943432..62d512280 100644 --- a/src/node/socket.h +++ b/src/node/socket.h @@ -263,6 +263,16 @@ public: * to the maxSize and flags. */ virtual Ptr 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 of the next in-sequence packet. Returns + * 0 if the socket cannot return a next in-sequence packet. + */ + Ptr Recv (void); protected: void NotifyCloseCompleted (void); diff --git a/src/routing/olsr/olsr-agent-impl.cc b/src/routing/olsr/olsr-agent-impl.cc index 1db5c5e2a..3031982f5 100644 --- a/src/routing/olsr/olsr-agent-impl.cc +++ b/src/routing/olsr/olsr-agent-impl.cc @@ -310,9 +310,7 @@ void AgentImpl::RecvOlsr (Ptr socket) { Ptr receivedPacket; - uint32_t maxSize = std::numeric_limits::max(); - uint32_t flags = 0; // no flags - receivedPacket = socket->Recv (maxSize, flags); + receivedPacket = socket->Recv (); SocketRxAddressTag tag; bool found = receivedPacket->PeekTag (tag);