in source/azure_iot_hub_client.c [65:99]
static void prvMQTTProcessIncomingPublish( AzureIoTHubClient_t * pxAzureIoTHubClient,
AzureIoTMQTTPublishInfo_t * pxPublishInfo )
{
uint32_t ulIndex;
AzureIoTHubClientReceiveContext_t * pxContext;
configASSERT( pxPublishInfo != NULL );
if( ( pxPublishInfo->pcTopicName == NULL ) ||
( pxPublishInfo->usTopicNameLength == 0 ) )
{
AZLogWarn( ( "Ignoring processing of empty topic" ) );
return;
}
for( ulIndex = 0; ulIndex < azureiothubSUBSCRIBE_FEATURE_COUNT; ulIndex++ )
{
pxContext = &pxAzureIoTHubClient->_internal.xReceiveContext[ ulIndex ];
if( ( pxContext->_internal.pxProcessFunction != NULL ) &&
( pxContext->_internal.pxProcessFunction( pxContext,
pxAzureIoTHubClient,
( void * ) pxPublishInfo ) == eAzureIoTSuccess ) )
{
break;
}
}
/* If reached the end of the list and haven't found a context, log none found */
if( ulIndex == azureiothubSUBSCRIBE_FEATURE_COUNT )
{
AZLogInfo( ( "No receive context found for incoming publish on topic: %.*s",
pxPublishInfo->usTopicNameLength, pxPublishInfo->pcTopicName ) );
}
}