A small memory footprint AMQP implimentation
Dependents: iothub_client_sample_amqp remote_monitoring simplesample_amqp
Diff: session.c
- Revision:
- 19:000ab4e6a2c1
- Parent:
- 18:a922a4a30a82
- Child:
- 21:f9c433d8e6ca
--- a/session.c Fri Feb 10 17:00:55 2017 -0800 +++ b/session.c Fri Feb 24 14:00:58 2017 -0800 @@ -6,6 +6,7 @@ #include "azure_uamqp_c/session.h" #include "azure_uamqp_c/connection.h" #include "azure_uamqp_c/amqpalloc.h" +#include "azure_c_shared_utility/optimize_size.h" #include "azure_c_shared_utility/xlogging.h" typedef struct LINK_ENDPOINT_INSTANCE_TAG @@ -73,27 +74,27 @@ end_performative = end_create(); if (end_performative == NULL) { - result = __LINE__; + result = __FAILURE__; } else { if ((error_handle != NULL) && (end_set_error(end_performative, error_handle) != 0)) { - result = __LINE__; + result = __FAILURE__; } else { AMQP_VALUE end_performative_value = amqpvalue_create_end(end_performative); if (end_performative_value == NULL) { - result = __LINE__; + result = __FAILURE__; } else { if (connection_encode_frame(session_instance->endpoint, end_performative_value, NULL, 0, NULL, NULL) != 0) { - result = __LINE__; + result = __FAILURE__; } else { @@ -144,33 +145,33 @@ if (begin == NULL) { - result = __LINE__; + result = __FAILURE__; } else { uint16_t remote_channel; if (begin_set_handle_max(begin, session_instance->handle_max) != 0) { - result = __LINE__; + result = __FAILURE__; } else if ((session_instance->session_state == SESSION_STATE_BEGIN_RCVD) && ((connection_endpoint_get_incoming_channel(session_instance->endpoint, &remote_channel) != 0) || (begin_set_remote_channel(begin, remote_channel) != 0))) { - result = __LINE__; + result = __FAILURE__; } else { AMQP_VALUE begin_performative_value = amqpvalue_create_begin(begin); if (begin_performative_value == NULL) { - result = __LINE__; + result = __FAILURE__; } else { if (connection_encode_frame(session_instance->endpoint, begin_performative_value, NULL, 0, NULL, NULL) != 0) { - result = __LINE__; + result = __FAILURE__; } else { @@ -192,7 +193,7 @@ int result; if (session == NULL) { - result = __LINE__; + result = __FAILURE__; } else { @@ -200,26 +201,26 @@ if (flow == NULL) { - result = __LINE__; + result = __FAILURE__; } else { if (flow_set_next_incoming_id(flow, session->next_incoming_id) != 0) { - result = __LINE__; + result = __FAILURE__; } else { AMQP_VALUE flow_performative_value = amqpvalue_create_flow(flow); if (flow_performative_value == NULL) { - result = __LINE__; + result = __FAILURE__; } else { if (connection_encode_frame(session->endpoint, flow_performative_value, NULL, 0, NULL, NULL) != 0) { - result = __LINE__; + result = __FAILURE__; } else { @@ -728,7 +729,7 @@ if (session == NULL) { - result = __LINE__; + result = __FAILURE__; } else { @@ -736,7 +737,7 @@ if (connection_start_endpoint(session_instance->endpoint, on_frame_received, on_connection_state_changed, session_instance) != 0) { - result = __LINE__; + result = __FAILURE__; } else { @@ -745,7 +746,7 @@ if (connection_open(session_instance->connection) != 0) { session_instance->is_underlying_connection_open = UNDERLYING_CONNECTION_NOT_OPEN; - result = __LINE__; + result = __FAILURE__; } else { @@ -769,7 +770,7 @@ if (session == NULL) { - result = __LINE__; + result = __FAILURE__; } else { @@ -786,13 +787,13 @@ error_handle = error_create(condition_value); if (error_handle == NULL) { - result = __LINE__; + result = __FAILURE__; } else { if (error_set_description(error_handle, description) != 0) { - result = __LINE__; + result = __FAILURE__; } } } @@ -801,7 +802,7 @@ { if (send_end_frame(session_instance, error_handle) != 0) { - result = __LINE__; + result = __FAILURE__; } else { @@ -830,7 +831,7 @@ if (session == NULL) { - result = __LINE__; + result = __FAILURE__; } else { @@ -852,7 +853,7 @@ if ((session == NULL) || (incoming_window == NULL)) { - result = __LINE__; + result = __FAILURE__; } else { @@ -872,7 +873,7 @@ if (session == NULL) { - result = __LINE__; + result = __FAILURE__; } else { @@ -893,7 +894,7 @@ if ((session == NULL) || (outgoing_window == NULL)) { - result = __LINE__; + result = __FAILURE__; } else { @@ -913,7 +914,7 @@ if (session == NULL) { - result = __LINE__; + result = __FAILURE__; } else { @@ -934,7 +935,7 @@ if ((session == NULL) || (handle_max == NULL)) { - result = __LINE__; + result = __FAILURE__; } else { @@ -1087,7 +1088,7 @@ if ((link_endpoint == NULL) || (frame_received_callback == NULL)) { - result = __LINE__; + result = __FAILURE__; } else { @@ -1114,7 +1115,7 @@ if ((link_endpoint == NULL) || (performative == NULL)) { - result = __LINE__; + result = __FAILURE__; } else { @@ -1123,7 +1124,7 @@ if (connection_encode_frame(session_instance->endpoint, performative, payloads, payload_count, NULL, NULL) != 0) { - result = __LINE__; + result = __FAILURE__; } else { @@ -1141,7 +1142,7 @@ if ((link_endpoint == NULL) || (flow == NULL)) { - result = __LINE__; + result = __FAILURE__; } else { @@ -1154,7 +1155,7 @@ { if (flow_set_next_incoming_id(flow, session_instance->next_incoming_id) != 0) { - result = __LINE__; + result = __FAILURE__; } } @@ -1166,20 +1167,20 @@ (flow_set_outgoing_window(flow, session_instance->outgoing_window) != 0) || (flow_set_handle(flow, link_endpoint_instance->output_handle) != 0)) { - result = __LINE__; + result = __FAILURE__; } else { AMQP_VALUE flow_performative_value = amqpvalue_create_flow(flow); if (flow_performative_value == NULL) { - result = __LINE__; + result = __FAILURE__; } else { if (encode_frame(link_endpoint, flow_performative_value, NULL, 0) != 0) { - result = __LINE__; + result = __FAILURE__; } else { @@ -1202,7 +1203,7 @@ if ((link_endpoint == NULL) || (attach == NULL)) { - result = __LINE__; + result = __FAILURE__; } else { @@ -1210,20 +1211,20 @@ if (attach_set_handle(attach, link_endpoint_instance->output_handle) != 0) { - result = __LINE__; + result = __FAILURE__; } else { AMQP_VALUE attach_performative_value = amqpvalue_create_attach(attach); if (attach_performative_value == NULL) { - result = __LINE__; + result = __FAILURE__; } else { if (encode_frame(link_endpoint, attach_performative_value, NULL, 0) != 0) { - result = __LINE__; + result = __FAILURE__; } else { @@ -1245,20 +1246,20 @@ if ((link_endpoint == NULL) || (disposition == NULL)) { - result = __LINE__; + result = __FAILURE__; } else { AMQP_VALUE disposition_performative_value = amqpvalue_create_disposition(disposition); if (disposition_performative_value == NULL) { - result = __LINE__; + result = __FAILURE__; } else { if (encode_frame(link_endpoint, disposition_performative_value, NULL, 0) != 0) { - result = __LINE__; + result = __FAILURE__; } else { @@ -1279,7 +1280,7 @@ if ((link_endpoint == NULL) || (detach == NULL)) { - result = __LINE__; + result = __FAILURE__; } else { @@ -1287,20 +1288,20 @@ if (detach_set_handle(detach, link_endpoint_instance->output_handle) != 0) { - result = __LINE__; + result = __FAILURE__; } else { AMQP_VALUE detach_performative_value = amqpvalue_create_detach(detach); if (detach_performative_value == NULL) { - result = __LINE__; + result = __FAILURE__; } else { if (encode_frame(link_endpoint, detach_performative_value, NULL, 0) != 0) { - result = __LINE__; + result = __FAILURE__; } else {