Example #1
0
ndn_Error
ndn_SocketTransport_processEvents
  (struct ndn_SocketTransport *self, uint8_t *buffer, size_t bufferLength)
{
  // Loop until there is no more data in the receive buffer.
  while(1) {
    int receiveIsReady;
    ndn_Error error;
    size_t nBytes;
    if ((error = ndn_SocketTransport_receiveIsReady
         (self, &receiveIsReady)))
      return error;
    if (!receiveIsReady)
      return NDN_ERROR_success;

    if ((error = ndn_SocketTransport_receive
         (self, buffer, bufferLength, &nBytes)))
      return error;
    if (nBytes == 0)
      return NDN_ERROR_success;

    if ((error = ndn_ElementReader_onReceivedData
         (&self->elementReader, buffer, nBytes)))
      return error;
  }
}
Example #2
0
ndn_Error
ArduinoYunTcpTransportLite::processEvents(uint8_t *buffer, size_t bufferLength)
{
  // Loop until there is no more data in the receive buffer.
  while(1) {
    if (!client_.available())
      return NDN_ERROR_success;

    size_t nBytes = client_.readBytes(buffer, bufferLength);
    if (nBytes == 0)
      return NDN_ERROR_success;

    ndn_Error error;
    if ((error = ndn_ElementReader_onReceivedData
         (&elementReader_, buffer, nBytes)))
      return error;
  }
}