static int runLongHaulSendTest(const LONGHAUL_SEND_TEST_PROFILE* testProfile)
{
	int result;

	LONGHAUL_SEND_TEST_STATE test_state;
	test_state.profile = testProfile;
	test_state.sendFrequencyIndex = 0;
	test_state.timeUntilNextSendEventInSeconds = 0;
	
	LogInfo("Starting Long Haul send test \"%s\" (totalRunTimeInSeconds=%d)", test_state.profile->name, test_state.profile->totalRunTimeInSeconds);

	IOTHUB_CLIENT_CONFIG iotHubConfig;
	IOTHUB_CLIENT_HANDLE iotHubClientHandle;
#ifdef MBED_BUILD_TIMESTAMP
	IOTHUB_CLIENT_RESULT client_result;
#endif

	iotHubConfig.iotHubName = IoTHubAccount_GetIoTHubName(g_iothubAcctInfo);
	iotHubConfig.iotHubSuffix = IoTHubAccount_GetIoTHubSuffix(g_iothubAcctInfo);
	iotHubConfig.deviceId = IoTHubAccount_GetDeviceId(g_iothubAcctInfo);
	iotHubConfig.deviceKey = IoTHubAccount_GetDeviceKey(g_iothubAcctInfo);
	iotHubConfig.protocol = AMQP_Protocol;
	iotHubConfig.deviceSasToken = NULL;
	iotHubConfig.protocolGatewayHostName = NULL;

	if ((iotHubClientHandle = IoTHubClient_Create(&iotHubConfig)) == NULL)
	{
		LogError("Failed creating the IoT Hub Client.");
		result = __LINE__;
	}
#ifdef MBED_BUILD_TIMESTAMP
	else if ((client_result = IoTHubClient_SetOption(iotHubClientHandle, "TrustedCerts", certificates)) != IOTHUB_CLIENT_OK)
	{
		LogError("Failed setting certificates on IoT Hub client [%i].", client_result);
		result = __LINE__;
	}
#endif
	else 
	{
		result = sendEventLoop(iotHubClientHandle, &test_state);
	}
		
	if (iotHubClientHandle != NULL)
	{
		IoTHubClient_Destroy(iotHubClientHandle);
	}

	LogInfo("Long Haul send test \"%s\" completed (result=%d)", test_state.profile->name, result);

	return result;
}
예제 #2
0
const char* IoTHubAccount_GetEventhubListenName(IOTHUB_ACCOUNT_INFO_HANDLE acctHandle)
{
	static char listenName[64];  
	const char* value;
	
#ifndef MBED_BUILD_TIMESTAMP
	if ((value = getenv("IOTHUB_EVENTHUB_LISTEN_NAME")) == NULL)
#else
	if ((value = getMbedParameter("IOTHUB_EVENTHUB_LISTEN_NAME")) == NULL)
#endif
	{
		value = IoTHubAccount_GetIoTHubName(acctHandle); 
	}

	if (value != NULL &&
		sprintf_s(listenName, 64, "%s", value) <= 0)
	{
		LogError("Failed reading IoT Hub Event Hub listen namespace (sprintf_s failed).");
	}
    
	return listenName;
}