A small memory footprint AMQP implimentation

Dependents:   iothub_client_sample_amqp remote_monitoring simplesample_amqp

Revision:
29:4a11413cf217
Parent:
28:add19eb7defa
Child:
35:d0bed2404ee9
diff -r add19eb7defa -r 4a11413cf217 amqp_definitions.c
--- a/amqp_definitions.c	Fri Jun 30 10:41:22 2017 -0700
+++ b/amqp_definitions.c	Fri Jul 14 16:38:03 2017 -0700
@@ -1598,9 +1598,20 @@
                                     }
                                     else
                                     {
-                                        result = 0;
+                                        if (amqpvalue_set_composite_item(open_instance->composite_value, 5, *outgoing_locales_value) != 0)
+                                        {
+                                            amqpvalue_destroy(*outgoing_locales_value);
+                                            result = __FAILURE__;
+                                        }
+                                        else
+                                        {
+                                            result = 0;
+                                        }
                                     }
-                                }
+
+                                    amqpvalue_destroy(single_amqp_value);
+                                }
+                                amqpvalue_destroy(*outgoing_locales_value);
                             }
                         }
                         else
@@ -1734,9 +1745,20 @@
                                     }
                                     else
                                     {
-                                        result = 0;
+                                        if (amqpvalue_set_composite_item(open_instance->composite_value, 6, *incoming_locales_value) != 0)
+                                        {
+                                            amqpvalue_destroy(*incoming_locales_value);
+                                            result = __FAILURE__;
+                                        }
+                                        else
+                                        {
+                                            result = 0;
+                                        }
                                     }
-                                }
+
+                                    amqpvalue_destroy(single_amqp_value);
+                                }
+                                amqpvalue_destroy(*incoming_locales_value);
                             }
                         }
                         else
@@ -1870,9 +1892,20 @@
                                     }
                                     else
                                     {
-                                        result = 0;
+                                        if (amqpvalue_set_composite_item(open_instance->composite_value, 7, *offered_capabilities_value) != 0)
+                                        {
+                                            amqpvalue_destroy(*offered_capabilities_value);
+                                            result = __FAILURE__;
+                                        }
+                                        else
+                                        {
+                                            result = 0;
+                                        }
                                     }
-                                }
+
+                                    amqpvalue_destroy(single_amqp_value);
+                                }
+                                amqpvalue_destroy(*offered_capabilities_value);
                             }
                         }
                         else
@@ -2006,9 +2039,20 @@
                                     }
                                     else
                                     {
-                                        result = 0;
+                                        if (amqpvalue_set_composite_item(open_instance->composite_value, 8, *desired_capabilities_value) != 0)
+                                        {
+                                            amqpvalue_destroy(*desired_capabilities_value);
+                                            result = __FAILURE__;
+                                        }
+                                        else
+                                        {
+                                            result = 0;
+                                        }
                                     }
-                                }
+
+                                    amqpvalue_destroy(single_amqp_value);
+                                }
+                                amqpvalue_destroy(*desired_capabilities_value);
                             }
                         }
                         else
@@ -3084,9 +3128,20 @@
                                     }
                                     else
                                     {
-                                        result = 0;
+                                        if (amqpvalue_set_composite_item(begin_instance->composite_value, 5, *offered_capabilities_value) != 0)
+                                        {
+                                            amqpvalue_destroy(*offered_capabilities_value);
+                                            result = __FAILURE__;
+                                        }
+                                        else
+                                        {
+                                            result = 0;
+                                        }
                                     }
-                                }
+
+                                    amqpvalue_destroy(single_amqp_value);
+                                }
+                                amqpvalue_destroy(*offered_capabilities_value);
                             }
                         }
                         else
@@ -3220,9 +3275,20 @@
                                     }
                                     else
                                     {
-                                        result = 0;
+                                        if (amqpvalue_set_composite_item(begin_instance->composite_value, 6, *desired_capabilities_value) != 0)
+                                        {
+                                            amqpvalue_destroy(*desired_capabilities_value);
+                                            result = __FAILURE__;
+                                        }
+                                        else
+                                        {
+                                            result = 0;
+                                        }
                                     }
-                                }
+
+                                    amqpvalue_destroy(single_amqp_value);
+                                }
+                                amqpvalue_destroy(*desired_capabilities_value);
                             }
                         }
                         else
@@ -4968,9 +5034,20 @@
                                     }
                                     else
                                     {
-                                        result = 0;
+                                        if (amqpvalue_set_composite_item(attach_instance->composite_value, 11, *offered_capabilities_value) != 0)
+                                        {
+                                            amqpvalue_destroy(*offered_capabilities_value);
+                                            result = __FAILURE__;
+                                        }
+                                        else
+                                        {
+                                            result = 0;
+                                        }
                                     }
-                                }
+
+                                    amqpvalue_destroy(single_amqp_value);
+                                }
+                                amqpvalue_destroy(*offered_capabilities_value);
                             }
                         }
                         else
@@ -5104,9 +5181,20 @@
                                     }
                                     else
                                     {
-                                        result = 0;
+                                        if (amqpvalue_set_composite_item(attach_instance->composite_value, 12, *desired_capabilities_value) != 0)
+                                        {
+                                            amqpvalue_destroy(*desired_capabilities_value);
+                                            result = __FAILURE__;
+                                        }
+                                        else
+                                        {
+                                            result = 0;
+                                        }
                                     }
-                                }
+
+                                    amqpvalue_destroy(single_amqp_value);
+                                }
+                                amqpvalue_destroy(*desired_capabilities_value);
                             }
                         }
                         else
@@ -10269,9 +10357,21 @@
                                     }
                                     else
                                     {
-                                        result = 0;
+                                        if (amqpvalue_set_composite_item(sasl_mechanisms_instance->composite_value, 0, *sasl_server_mechanisms_value) != 0)
+                                        {
+                                            amqpvalue_destroy(*sasl_server_mechanisms_value);
+                                            result = __FAILURE__;
+                                        }
+                                        else
+                                        {
+                                            result = 0;
+                                        }
                                     }
-                                }
+
+                                    amqpvalue_destroy(single_amqp_value);
+                                }
+
+                                amqpvalue_destroy(*sasl_server_mechanisms_value);
                             }
                         }
                         else
@@ -13083,9 +13183,20 @@
                                     }
                                     else
                                     {
-                                        result = 0;
+                                        if (amqpvalue_set_composite_item(source_instance->composite_value, 9, *outcomes_value) != 0)
+                                        {
+                                            amqpvalue_destroy(*outcomes_value);
+                                            result = __FAILURE__;
+                                        }
+                                        else
+                                        {
+                                            result = 0;
+                                        }
                                     }
-                                }
+
+                                    amqpvalue_destroy(single_amqp_value);
+                                }
+                                amqpvalue_destroy(*outcomes_value);
                             }
                         }
                         else
@@ -13219,9 +13330,20 @@
                                     }
                                     else
                                     {
-                                        result = 0;
+                                        if (amqpvalue_set_composite_item(source_instance->composite_value, 10, *capabilities_value) != 0)
+                                        {
+                                            amqpvalue_destroy(*capabilities_value);
+                                            result = __FAILURE__;
+                                        }
+                                        else
+                                        {
+                                            result = 0;
+                                        }
                                     }
-                                }
+
+                                    amqpvalue_destroy(single_amqp_value);
+                                }
+                                amqpvalue_destroy(*capabilities_value);
                             }
                         }
                         else
@@ -14221,9 +14343,20 @@
                                     }
                                     else
                                     {
-                                        result = 0;
+                                        if (amqpvalue_set_composite_item(target_instance->composite_value, 6, *capabilities_value) != 0)
+                                        {
+                                            amqpvalue_destroy(*capabilities_value);
+                                            result = __FAILURE__;
+                                        }
+                                        else
+                                        {
+                                            result = 0;
+                                        }
                                     }
-                                }
+
+                                    amqpvalue_destroy(single_amqp_value);
+                                }
+                                amqpvalue_destroy(*capabilities_value);
                             }
                         }
                         else