Change receiveIsReady and processEvents to return immediately, with comment warnings that the caller needs to sleep to avoid using 100% CPU.
diff --git a/ndn-cpp/transport/udp-transport.hpp b/ndn-cpp/transport/udp-transport.hpp
index 17f6e25..4ea6324 100644
--- a/ndn-cpp/transport/udp-transport.hpp
+++ b/ndn-cpp/transport/udp-transport.hpp
@@ -36,8 +36,8 @@
 
   /**
    * Process any data to receive.  For each element received, call face.onReceivedElement.
-   * This is non-blocking and will silently time out after a brief period if there is no data to receive.
-   * You should repeatedly call this from an event loop.
+   * This is non-blocking and will return immediately if there is no data to receive.
+   * You should normally not call this directly since it is called by Face.processEvents.
    * @throw This may throw an exception for reading data or in the callback for processing the data.  If you
    * call this from an main event loop, you may want to catch and log/disregard all exceptions.
    */