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/c/transport/socket-transport.c b/ndn-cpp/c/transport/socket-transport.c
index 2a537db..6195e80 100644
--- a/ndn-cpp/c/transport/socket-transport.c
+++ b/ndn-cpp/c/transport/socket-transport.c
@@ -98,7 +98,7 @@
   pollInfo[0].fd = self->socketDescriptor;
   pollInfo[0].events = POLLIN;
   
-  int pollResult = poll(pollInfo, 1, 200);
+  int pollResult = poll(pollInfo, 1, 0);
 
   if (pollResult < 0)
     return NDN_ERROR_SocketTransport_error_in_poll;
diff --git a/ndn-cpp/c/transport/socket-transport.h b/ndn-cpp/c/transport/socket-transport.h
index 6c2da6e..148c3d3 100644
--- a/ndn-cpp/c/transport/socket-transport.h
+++ b/ndn-cpp/c/transport/socket-transport.h
@@ -52,6 +52,7 @@
 
 /**
  * Check if there is data ready on the socket to be received with ndn_SocketTransport_receive.
+ * This does not block, and returns immediately.
  * @param self A pointer to the ndn_SocketTransport struct.
  * @param receiveIsReady This will be set to 1 if data is ready, 0 if not.
  * @return 0 for success, else an error code.
diff --git a/ndn-cpp/c/transport/tcp-transport.h b/ndn-cpp/c/transport/tcp-transport.h
index 1860002..73e4e7f 100644
--- a/ndn-cpp/c/transport/tcp-transport.h
+++ b/ndn-cpp/c/transport/tcp-transport.h
@@ -53,6 +53,7 @@
 
 /**
  * Check if there is data ready on the socket to be received with ndn_TcpTransport_receive.
+ * This does not block, and returns immediately.
  * @param self A pointer to the ndn_TcpTransport struct.
  * @param receiveIsReady This will be set to 1 if data is ready, 0 if not.
  * @return 0 for success, else an error code.
diff --git a/ndn-cpp/c/transport/udp-transport.h b/ndn-cpp/c/transport/udp-transport.h
index c9f0d55..be60ab6 100644
--- a/ndn-cpp/c/transport/udp-transport.h
+++ b/ndn-cpp/c/transport/udp-transport.h
@@ -53,6 +53,7 @@
 
 /**
  * Check if there is data ready on the socket to be received with ndn_UdpTransport_receive.
+ * This does not block, and returns immediately.
  * @param self A pointer to the ndn_UdpTransport struct.
  * @param receiveIsReady This will be set to 1 if data is ready, 0 if not.
  * @return 0 for success, else an error code.