A small memory footprint AMQP implimentation

Dependents:   iothub_client_sample_amqp remote_monitoring simplesample_amqp

Revision:
19:000ab4e6a2c1
Parent:
17:923575db8b2d
Child:
20:206846c14c80
diff -r a922a4a30a82 -r 000ab4e6a2c1 message.c
--- a/message.c	Fri Feb 10 17:00:55 2017 -0800
+++ b/message.c	Fri Feb 24 14:00:58 2017 -0800
@@ -3,6 +3,7 @@
 
 #include <stdlib.h>
 #include <string.h>
+#include "azure_c_shared_utility/optimize_size.h"
 #include "azure_uamqp_c/message.h"
 #include "azure_uamqp_c/amqpvalue.h"
 #include "azure_uamqp_c/amqpalloc.h"
@@ -300,7 +301,7 @@
 	if ((message == NULL) ||
 		(header == NULL))
 	{
-		result = __LINE__;
+		result = __FAILURE__;
 	}
 	else
 	{
@@ -310,7 +311,7 @@
 		new_header = header_clone(header);
 		if (new_header == NULL)
 		{
-			result = __LINE__;
+			result = __FAILURE__;
 		}
 		else
 		{
@@ -334,7 +335,7 @@
 	if ((message == NULL) ||
 		(header == NULL))
 	{
-		result = __LINE__;
+		result = __FAILURE__;
 	}
 	else
 	{
@@ -350,7 +351,7 @@
 			*header = header_clone(message_instance->header);
 			if (*header == NULL)
 			{
-				result = __LINE__;
+				result = __FAILURE__;
 			}
 			else
 			{
@@ -369,7 +370,7 @@
 	if ((message == NULL) ||
 		(delivery_annotations == NULL))
 	{
-		result = __LINE__;
+		result = __FAILURE__;
 	}
 	else
 	{
@@ -379,7 +380,7 @@
 		new_delivery_annotations = annotations_clone(delivery_annotations);
 		if (new_delivery_annotations == NULL)
 		{
-			result = __LINE__;
+			result = __FAILURE__;
 		}
 		else
 		{
@@ -402,7 +403,7 @@
 	if ((message == NULL) ||
 		(delivery_annotations == NULL))
 	{
-		result = __LINE__;
+		result = __FAILURE__;
 	}
 	else
 	{
@@ -418,7 +419,7 @@
 			*delivery_annotations = annotations_clone(message_instance->delivery_annotations);
 			if (*delivery_annotations == NULL)
 			{
-				result = __LINE__;
+				result = __FAILURE__;
 			}
 			else
 			{
@@ -437,7 +438,7 @@
 	if ((message == NULL) ||
 		(message_annotations == NULL))
 	{
-		result = __LINE__;
+		result = __FAILURE__;
 	}
 	else
 	{
@@ -447,7 +448,7 @@
 		new_message_annotations = annotations_clone(message_annotations);
 		if (new_message_annotations == NULL)
 		{
-			result = __LINE__;
+			result = __FAILURE__;
 		}
 		else
 		{
@@ -471,7 +472,7 @@
 	if ((message == NULL) ||
 		(message_annotations == NULL))
 	{
-		result = __LINE__;
+		result = __FAILURE__;
 	}
 	else
 	{
@@ -487,7 +488,7 @@
 			*message_annotations = annotations_clone(message_instance->message_annotations);
 			if (*message_annotations == NULL)
 			{
-				result = __LINE__;
+				result = __FAILURE__;
 			}
 			else
 			{
@@ -506,7 +507,7 @@
 	if ((message == NULL) ||
 		(properties == NULL))
 	{
-		result = __LINE__;
+		result = __FAILURE__;
 	}
 	else
 	{
@@ -516,7 +517,7 @@
 		new_properties = properties_clone(properties);
 		if (new_properties == NULL)
 		{
-			result = __LINE__;
+			result = __FAILURE__;
 		}
 		else
 		{
@@ -540,7 +541,7 @@
 	if ((message == NULL) ||
 		(properties == NULL))
 	{
-		result = __LINE__;
+		result = __FAILURE__;
 	}
 	else
 	{
@@ -556,7 +557,7 @@
 			*properties = properties_clone(message_instance->properties);
 			if (*properties == NULL)
 			{
-				result = __LINE__;
+				result = __FAILURE__;
 			}
 			else
 			{
@@ -575,7 +576,7 @@
 	if ((message == NULL) ||
 		(application_properties == NULL))
 	{
-		result = __LINE__;
+		result = __FAILURE__;
 	}
 	else
 	{
@@ -585,7 +586,7 @@
 		new_application_properties = application_properties_clone(application_properties);
 		if (new_application_properties == NULL)
 		{
-			result = __LINE__;
+			result = __FAILURE__;
 		}
 		else
 		{
@@ -609,7 +610,7 @@
 	if ((message == NULL) ||
 		(application_properties == NULL))
 	{
-		result = __LINE__;
+		result = __FAILURE__;
 	}
 	else
 	{
@@ -625,7 +626,7 @@
 			*application_properties = application_properties_clone(message_instance->application_properties);
 			if (*application_properties == NULL)
 			{
-				result = __LINE__;
+				result = __FAILURE__;
 			}
 			else
 			{
@@ -644,7 +645,7 @@
 	if ((message == NULL) ||
 		(footer == NULL))
 	{
-		result = __LINE__;
+		result = __FAILURE__;
 	}
 	else
 	{
@@ -654,7 +655,7 @@
 		new_footer = annotations_clone(footer);
 		if (new_footer == NULL)
 		{
-			result = __LINE__;
+			result = __FAILURE__;
 		}
 		else
 		{
@@ -678,7 +679,7 @@
 	if ((message == NULL) ||
 		(footer == NULL))
 	{
-		result = __LINE__;
+		result = __FAILURE__;
 	}
 	else
 	{
@@ -694,7 +695,7 @@
 			*footer = annotations_clone(message_instance->footer);
 			if (*footer == NULL)
 			{
-				result = __LINE__;
+				result = __FAILURE__;
 			}
 			else
 			{
@@ -715,14 +716,14 @@
 		((binary_data.bytes == NULL) &&
 		 (binary_data.length != 0)))
 	{
-		result = __LINE__;
+		result = __FAILURE__;
 	}
 	else
 	{
 		BODY_AMQP_DATA* new_body_amqp_data_items = (BODY_AMQP_DATA*)amqpalloc_realloc(message_instance->body_amqp_data_items, sizeof(BODY_AMQP_DATA) * (message_instance->body_amqp_data_count + 1));
 		if (new_body_amqp_data_items == NULL)
 		{
-			result = __LINE__;
+			result = __FAILURE__;
 		}
 		else
 		{
@@ -731,7 +732,7 @@
 			message_instance->body_amqp_data_items[message_instance->body_amqp_data_count].body_data_section_bytes = (unsigned char*)amqpalloc_malloc(binary_data.length);
 			if (message_instance->body_amqp_data_items[message_instance->body_amqp_data_count].body_data_section_bytes == NULL)
 			{
-				result = __LINE__;
+				result = __FAILURE__;
 			}
 			else
 			{
@@ -761,7 +762,7 @@
 	if ((message == NULL) ||
 		(binary_data == NULL))
 	{
-		result = __LINE__;
+		result = __FAILURE__;
 	}
 	else
 	{
@@ -769,7 +770,7 @@
 
 		if (index >= message_instance->body_amqp_data_count)
 		{
-			result = __LINE__;
+			result = __FAILURE__;
 		}
 		else
 		{
@@ -791,7 +792,7 @@
 	if ((message == NULL) ||
 		(count == NULL))
 	{
-		result = __LINE__;
+		result = __FAILURE__;
 	}
 	else
 	{
@@ -812,14 +813,14 @@
 		(sequence_list == NULL) ||
 		(amqpvalue_get_list_item_count(sequence_list, (uint32_t*)&item_count) != 0))
 	{
-		result = __LINE__;
+		result = __FAILURE__;
 	}
 	else
 	{
 		AMQP_VALUE* new_body_amqp_sequence_items = (AMQP_VALUE*)amqpalloc_realloc(message_instance->body_amqp_sequence_items, sizeof(AMQP_VALUE) * (message_instance->body_amqp_sequence_count + 1));
 		if (new_body_amqp_sequence_items == NULL)
 		{
-			result = __LINE__;
+			result = __FAILURE__;
 		}
 		else
 		{
@@ -828,7 +829,7 @@
 			message_instance->body_amqp_sequence_items[message_instance->body_amqp_sequence_count] = amqpvalue_clone(sequence_list);
 			if (message_instance->body_amqp_sequence_items[message_instance->body_amqp_sequence_count] == NULL)
 			{
-				result = __LINE__;
+				result = __FAILURE__;
 			}
 			else
 			{
@@ -855,7 +856,7 @@
 	if ((message == NULL) ||
 		(sequence_list == NULL))
 	{
-		result = __LINE__;
+		result = __FAILURE__;
 	}
 	else
 	{
@@ -863,14 +864,14 @@
 
 		if (index >= message_instance->body_amqp_sequence_count)
 		{
-			result = __LINE__;
+			result = __FAILURE__;
 		}
 		else
 		{
 			*sequence_list = amqpvalue_clone(message_instance->body_amqp_sequence_items[index]);
 			if (*sequence_list == NULL)
 			{
-				result = __LINE__;
+				result = __FAILURE__;
 			}
 			else
 			{
@@ -890,7 +891,7 @@
 	if ((message == NULL) ||
 		(count == NULL))
 	{
-		result = __LINE__;
+		result = __FAILURE__;
 	}
 	else
 	{
@@ -909,7 +910,7 @@
 	if ((message == NULL) ||
 		(body_amqp_value == NULL))
 	{
-		result = __LINE__;
+		result = __FAILURE__;
 	}
 	else
 	{
@@ -930,7 +931,7 @@
 	if ((message == NULL) ||
 		(body_amqp_value == NULL))
 	{
-		result = __LINE__;
+		result = __FAILURE__;
 	}
 	else
 	{
@@ -951,7 +952,7 @@
 	if ((message == NULL) ||
 		(body_type == NULL))
 	{
-		result = __LINE__;
+		result = __FAILURE__;
 	}
 	else
 	{
@@ -986,7 +987,7 @@
 
     if (message == NULL)
     {
-        result = __LINE__;
+        result = __FAILURE__;
     }
     else
     {
@@ -1005,7 +1006,7 @@
     if ((message == NULL) ||
         (message_format == NULL))
     {
-        result = __LINE__;
+        result = __FAILURE__;
     }
     else
     {