[jira] [Commented] (DISPATCH-1780) multicast support for http 1.1 adaptor
[ https://issues.apache.org/jira/browse/DISPATCH-1780?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17478965#comment-17478965 ] ASF GitHub Bot commented on DISPATCH-1780: -- ganeshmurthy closed pull request #909: URL: https://github.com/apache/qpid-dispatch/pull/909 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org > multicast support for http 1.1 adaptor > -- > > Key: DISPATCH-1780 > URL: https://issues.apache.org/jira/browse/DISPATCH-1780 > Project: Qpid Dispatch > Issue Type: Improvement >Reporter: Gordon Sim >Assignee: Gordon Sim >Priority: Major > Fix For: 1.15.0 > > -- This message was sent by Atlassian Jira (v8.20.1#820001) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (DISPATCH-1780) multicast support for http 1.1 adaptor
[ https://issues.apache.org/jira/browse/DISPATCH-1780?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17264475#comment-17264475 ] ASF GitHub Bot commented on DISPATCH-1780: -- asfgit merged pull request #980: URL: https://github.com/apache/qpid-dispatch/pull/980 This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > multicast support for http 1.1 adaptor > -- > > Key: DISPATCH-1780 > URL: https://issues.apache.org/jira/browse/DISPATCH-1780 > Project: Qpid Dispatch > Issue Type: Improvement >Reporter: Gordon Sim >Assignee: Gordon Sim >Priority: Major > Fix For: 1.15.0 > > -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (DISPATCH-1780) multicast support for http 1.1 adaptor
[ https://issues.apache.org/jira/browse/DISPATCH-1780?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17264474#comment-17264474 ] ASF subversion and git services commented on DISPATCH-1780: --- Commit efe9dcb5f92ed19d13d400580c49734eac1c3297 in qpid-dispatch's branch refs/heads/master from Gordon Sim [ https://gitbox.apache.org/repos/asf?p=qpid-dispatch.git;h=efe9dcb ] DISPATCH-1780: mark request complete in order to get subsequent requests > multicast support for http 1.1 adaptor > -- > > Key: DISPATCH-1780 > URL: https://issues.apache.org/jira/browse/DISPATCH-1780 > Project: Qpid Dispatch > Issue Type: Improvement >Reporter: Gordon Sim >Assignee: Gordon Sim >Priority: Major > Fix For: 1.15.0 > > -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (DISPATCH-1780) multicast support for http 1.1 adaptor
[ https://issues.apache.org/jira/browse/DISPATCH-1780?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17264423#comment-17264423 ] ASF GitHub Bot commented on DISPATCH-1780: -- grs opened a new pull request #980: URL: https://github.com/apache/qpid-dispatch/pull/980 This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > multicast support for http 1.1 adaptor > -- > > Key: DISPATCH-1780 > URL: https://issues.apache.org/jira/browse/DISPATCH-1780 > Project: Qpid Dispatch > Issue Type: Improvement >Reporter: Gordon Sim >Assignee: Gordon Sim >Priority: Major > Fix For: 1.15.0 > > -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (DISPATCH-1780) multicast support for http 1.1 adaptor
[ https://issues.apache.org/jira/browse/DISPATCH-1780?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17251362#comment-17251362 ] ASF subversion and git services commented on DISPATCH-1780: --- Commit 8ba6cdcd743a3ea6ed5365875561db91d7f62882 in qpid-dispatch's branch refs/heads/master from Gordon Sim [ https://gitbox.apache.org/repos/asf?p=qpid-dispatch.git;h=8ba6cdc ] DISPATCH-1780: workaround for older python (include needs to be first in file) > multicast support for http 1.1 adaptor > -- > > Key: DISPATCH-1780 > URL: https://issues.apache.org/jira/browse/DISPATCH-1780 > Project: Qpid Dispatch > Issue Type: Improvement >Reporter: Gordon Sim >Assignee: Gordon Sim >Priority: Major > Fix For: 1.15.0 > > -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (DISPATCH-1780) multicast support for http 1.1 adaptor
[ https://issues.apache.org/jira/browse/DISPATCH-1780?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17251175#comment-17251175 ] ASF GitHub Bot commented on DISPATCH-1780: -- grs closed pull request #961: URL: https://github.com/apache/qpid-dispatch/pull/961 This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > multicast support for http 1.1 adaptor > -- > > Key: DISPATCH-1780 > URL: https://issues.apache.org/jira/browse/DISPATCH-1780 > Project: Qpid Dispatch > Issue Type: Improvement >Reporter: Gordon Sim >Assignee: Gordon Sim >Priority: Major > Fix For: 1.15.0 > > -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (DISPATCH-1780) multicast support for http 1.1 adaptor
[ https://issues.apache.org/jira/browse/DISPATCH-1780?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17251130#comment-17251130 ] ASF subversion and git services commented on DISPATCH-1780: --- Commit 5593989c3e117d993a1676706aac1875673a0d94 in qpid-dispatch's branch refs/heads/master from Gordon Sim [ https://gitbox.apache.org/repos/asf?p=qpid-dispatch.git;h=5593989 ] DISPATCH-1780: initial support for aggregated multicast > multicast support for http 1.1 adaptor > -- > > Key: DISPATCH-1780 > URL: https://issues.apache.org/jira/browse/DISPATCH-1780 > Project: Qpid Dispatch > Issue Type: Improvement >Reporter: Gordon Sim >Assignee: Gordon Sim >Priority: Major > Fix For: 1.15.0 > > -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (DISPATCH-1780) multicast support for http 1.1 adaptor
[ https://issues.apache.org/jira/browse/DISPATCH-1780?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17251127#comment-17251127 ] ASF GitHub Bot commented on DISPATCH-1780: -- kgiusti commented on a change in pull request #961: URL: https://github.com/apache/qpid-dispatch/pull/961#discussion_r545135501 ## File path: src/adaptors/http1/http1_client.c ## @@ -1238,6 +1505,24 @@ uint64_t qdr_http1_client_core_link_deliver(qdr_http1_adaptor_t*adaptor, _client_response_msg_t *rmsg = DEQ_TAIL(hreq->responses); assert(rmsg && rmsg->dlv == delivery); +// when aggregating responses, they are saved on the list until +// the request has been settled, then encoded in the configured +// aggregation format +if (hconn->cfg.aggregation != QD_AGGREGATION_NONE) { +qd_log(qdr_http1_adaptor->log, QD_LOG_DEBUG, "[C%"PRIu64"][L%"PRIu64"] Received response (%i responses received), settling", hconn->conn_id, link->identity, DEQ_SIZE(hreq->responses)); +rmsg->dispo = PN_ACCEPTED; +qd_message_set_send_complete(msg); +qdr_link_flow(qdr_http1_adaptor->core, link, 1, false); +qdr_delivery_remote_state_updated(qdr_http1_adaptor->core, + rmsg->dlv, + rmsg->dispo, + true, // settled, + 0, // error + 0, // dispo data + false); +return PN_ACCEPTED; Review comment: Yes let's not block this patch for that - we'll add a test case for it in a follow up. We'll need a multi-hop router test case since Q2 is a proton layer thing. I'd expect Q2 to not be a factor in router standalone configurations. This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > multicast support for http 1.1 adaptor > -- > > Key: DISPATCH-1780 > URL: https://issues.apache.org/jira/browse/DISPATCH-1780 > Project: Qpid Dispatch > Issue Type: Improvement >Reporter: Gordon Sim >Assignee: Gordon Sim >Priority: Major > Fix For: 1.15.0 > > -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (DISPATCH-1780) multicast support for http 1.1 adaptor
[ https://issues.apache.org/jira/browse/DISPATCH-1780?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17251077#comment-17251077 ] ASF GitHub Bot commented on DISPATCH-1780: -- grs commented on pull request #961: URL: https://github.com/apache/qpid-dispatch/pull/961#issuecomment-747431057 Running locally the tests all passed for me. This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > multicast support for http 1.1 adaptor > -- > > Key: DISPATCH-1780 > URL: https://issues.apache.org/jira/browse/DISPATCH-1780 > Project: Qpid Dispatch > Issue Type: Improvement >Reporter: Gordon Sim >Assignee: Gordon Sim >Priority: Major > Fix For: 1.15.0 > > -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (DISPATCH-1780) multicast support for http 1.1 adaptor
[ https://issues.apache.org/jira/browse/DISPATCH-1780?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17251019#comment-17251019 ] ASF GitHub Bot commented on DISPATCH-1780: -- grs commented on a change in pull request #961: URL: https://github.com/apache/qpid-dispatch/pull/961#discussion_r545021681 ## File path: src/adaptors/http1/http1_client.c ## @@ -1238,6 +1505,24 @@ uint64_t qdr_http1_client_core_link_deliver(qdr_http1_adaptor_t*adaptor, _client_response_msg_t *rmsg = DEQ_TAIL(hreq->responses); assert(rmsg && rmsg->dlv == delivery); +// when aggregating responses, they are saved on the list until +// the request has been settled, then encoded in the configured +// aggregation format +if (hconn->cfg.aggregation != QD_AGGREGATION_NONE) { +qd_log(qdr_http1_adaptor->log, QD_LOG_DEBUG, "[C%"PRIu64"][L%"PRIu64"] Received response (%i responses received), settling", hconn->conn_id, link->identity, DEQ_SIZE(hreq->responses)); +rmsg->dispo = PN_ACCEPTED; +qd_message_set_send_complete(msg); +qdr_link_flow(qdr_http1_adaptor->core, link, 1, false); +qdr_delivery_remote_state_updated(qdr_http1_adaptor->core, + rmsg->dlv, + rmsg->dispo, + true, // settled, + 0, // error + 0, // dispo data + false); +return PN_ACCEPTED; Review comment: I did test with large responses (1M) and it seems to work so while you may be right that something is needed here, I've left that for now. This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > multicast support for http 1.1 adaptor > -- > > Key: DISPATCH-1780 > URL: https://issues.apache.org/jira/browse/DISPATCH-1780 > Project: Qpid Dispatch > Issue Type: Improvement >Reporter: Gordon Sim >Assignee: Gordon Sim >Priority: Major > Fix For: 1.15.0 > > -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (DISPATCH-1780) multicast support for http 1.1 adaptor
[ https://issues.apache.org/jira/browse/DISPATCH-1780?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17251018#comment-17251018 ] ASF GitHub Bot commented on DISPATCH-1780: -- grs commented on a change in pull request #961: URL: https://github.com/apache/qpid-dispatch/pull/961#discussion_r545020036 ## File path: src/adaptors/http1/http1_server.c ## @@ -70,6 +70,7 @@ typedef struct _server_request_t { boolrequest_settled; // set by adaptor boolrequest_acked; // true if dispo sent to core boolheaders_encoded; // True when header encode done +boolresponse_settled; Review comment: Agreed I have removed that. ## File path: src/adaptors/http1/http1_client.c ## @@ -1238,6 +1505,24 @@ uint64_t qdr_http1_client_core_link_deliver(qdr_http1_adaptor_t*adaptor, _client_response_msg_t *rmsg = DEQ_TAIL(hreq->responses); assert(rmsg && rmsg->dlv == delivery); +// when aggregating responses, they are saved on the list until +// the request has been settled, then encoded in the configured +// aggregation format +if (hconn->cfg.aggregation != QD_AGGREGATION_NONE) { +qd_log(qdr_http1_adaptor->log, QD_LOG_DEBUG, "[C%"PRIu64"][L%"PRIu64"] Received response (%i responses received), settling", hconn->conn_id, link->identity, DEQ_SIZE(hreq->responses)); +rmsg->dispo = PN_ACCEPTED; +qd_message_set_send_complete(msg); Review comment: Probably. I have added that check. This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > multicast support for http 1.1 adaptor > -- > > Key: DISPATCH-1780 > URL: https://issues.apache.org/jira/browse/DISPATCH-1780 > Project: Qpid Dispatch > Issue Type: Improvement >Reporter: Gordon Sim >Assignee: Gordon Sim >Priority: Major > Fix For: 1.15.0 > > -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (DISPATCH-1780) multicast support for http 1.1 adaptor
[ https://issues.apache.org/jira/browse/DISPATCH-1780?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17250952#comment-17250952 ] ASF GitHub Bot commented on DISPATCH-1780: -- grs commented on a change in pull request #961: URL: https://github.com/apache/qpid-dispatch/pull/961#discussion_r544952841 ## File path: src/adaptors/http1/http1_codec.c ## @@ -181,6 +184,8 @@ struct h1_codec_connection_t { bool is_request; bool is_chunked; +char *boundary_marker;//used for multipart content Review comment: It is freed in h1_codec_tx_end_multipart, which I think covers the normal path. However I agree logically it seems like it should be also freed in reset if needed and that may indeed be required for some error paths. This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > multicast support for http 1.1 adaptor > -- > > Key: DISPATCH-1780 > URL: https://issues.apache.org/jira/browse/DISPATCH-1780 > Project: Qpid Dispatch > Issue Type: Improvement >Reporter: Gordon Sim >Assignee: Gordon Sim >Priority: Major > Fix For: 1.15.0 > > -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (DISPATCH-1780) multicast support for http 1.1 adaptor
[ https://issues.apache.org/jira/browse/DISPATCH-1780?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17250722#comment-17250722 ] ASF GitHub Bot commented on DISPATCH-1780: -- kgiusti commented on a change in pull request #961: URL: https://github.com/apache/qpid-dispatch/pull/961#discussion_r544606515 ## File path: src/adaptors/http1/http1_codec.c ## @@ -181,6 +184,8 @@ struct h1_codec_connection_t { bool is_request; bool is_chunked; +char *boundary_marker;//used for multipart content Review comment: Should the boundary_marker be freed+reset in the ecoder_reset() function? ## File path: src/python_embedded.c ## @@ -907,3 +907,72 @@ void qd_python_unlock(qd_python_lock_state_t lock_state) lock_held = false; sys_mutex_unlock(ilock); } + +void qd_json_msgs_init(PyObject **msgs) +{ +qd_python_lock_state_t lock_state = qd_python_lock(); +*msgs = PyList_New(0); +qd_python_unlock(lock_state); +} + +void qd_json_msgs_done(PyObject *msgs) +{ +qd_python_lock_state_t lock_state = qd_python_lock(); +Py_DECREF(msgs); +qd_python_unlock(lock_state); +} + +void qd_json_msgs_append(PyObject *msgs, qd_message_t *msg) +{ +// +// Parse the message through the body and exit if the message is not well formed. +// +if (qd_message_check_depth(msg, QD_DEPTH_BODY) != QD_MESSAGE_DEPTH_OK) +return; + +// This is called from non-python threads so we need to acquire the GIL to use python APIS. +qd_python_lock_state_t lock_state = qd_python_lock(); +PyObject *py_msg = PyObject_CallFunction(message_type, NULL); +if (!py_msg) { +qd_error_py(); +qd_python_unlock(lock_state); +return; +} +iter_to_py_attr(qd_message_field_iterator(msg, QD_FIELD_CONTENT_TYPE), py_iter_copy, py_msg, "content_type"); +iter_to_py_attr(qd_message_field_iterator(msg, QD_FIELD_APPLICATION_PROPERTIES), py_iter_parse, py_msg, "properties"); +iter_to_py_attr(qd_message_field_iterator(msg, QD_FIELD_BODY), py_iter_parse, py_msg, "body"); + +PyList_Append(msgs, py_msg); + +Py_DECREF(py_msg); +qd_error_py(); +qd_python_unlock(lock_state); +} + +char *qd_json_msgs_string(PyObject *msgs) +{ +qd_python_lock_state_t lock_state = qd_python_lock(); + +PyObject *message_module = PyImport_ImportModule("qpid_dispatch_internal.router.message"); +if (!message_module) { +Py_DECREF(message_module); +qd_python_unlock(lock_state); +return NULL; +} +PyObject *messages_to_json = PyObject_GetAttrString(message_module, "messages_to_json"); Review comment: Py_DECREF messages_to_json needed IIUC ## File path: src/adaptors/http1/http1_server.c ## @@ -70,6 +70,7 @@ typedef struct _server_request_t { boolrequest_settled; // set by adaptor boolrequest_acked; // true if dispo sent to core boolheaders_encoded; // True when header encode done +boolresponse_settled; Review comment: Sorry - late night but for the life of me I don't see where this flag is set! I'd assume it would be set in qdr_http1_server_core_delivery_update when the outcome for the response arrives... ## File path: src/adaptors/http1/http1_client.c ## @@ -1238,6 +1505,24 @@ uint64_t qdr_http1_client_core_link_deliver(qdr_http1_adaptor_t*adaptor, _client_response_msg_t *rmsg = DEQ_TAIL(hreq->responses); assert(rmsg && rmsg->dlv == delivery); +// when aggregating responses, they are saved on the list until +// the request has been settled, then encoded in the configured +// aggregation format +if (hconn->cfg.aggregation != QD_AGGREGATION_NONE) { +qd_log(qdr_http1_adaptor->log, QD_LOG_DEBUG, "[C%"PRIu64"][L%"PRIu64"] Received response (%i responses received), settling", hconn->conn_id, link->identity, DEQ_SIZE(hreq->responses)); +rmsg->dispo = PN_ACCEPTED; +qd_message_set_send_complete(msg); Review comment: Should this be predicated on qd_message_receive_complete(msg)? I assume responses may be fragmented and we want to avoid updating the outcome until it is done arriving. ## File path: src/adaptors/http1/http1_client.c ## @@ -1238,6 +1505,24 @@ uint64_t qdr_http1_client_core_link_deliver(qdr_http1_adaptor_t*adaptor, _client_response_msg_t *rmsg = DEQ_TAIL(hreq->responses); assert(rmsg && rmsg->dlv == delivery); +// when aggregating responses, they are saved on the list until +// the request has been settled, then encoded in the configured +// aggregation format +if (hconn->cfg.aggregation != QD_AGGREGATION_NONE) { +qd_log(qdr_http1_adaptor->log, QD_LOG_DEBUG, "[C%"PRIu64"][L%"PRIu64"] Received response (%i responses received), settling", hconn->con
[jira] [Commented] (DISPATCH-1780) multicast support for http 1.1 adaptor
[ https://issues.apache.org/jira/browse/DISPATCH-1780?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17250559#comment-17250559 ] ASF GitHub Bot commented on DISPATCH-1780: -- grs opened a new pull request #961: URL: https://github.com/apache/qpid-dispatch/pull/961 This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > multicast support for http 1.1 adaptor > -- > > Key: DISPATCH-1780 > URL: https://issues.apache.org/jira/browse/DISPATCH-1780 > Project: Qpid Dispatch > Issue Type: Improvement >Reporter: Gordon Sim >Assignee: Gordon Sim >Priority: Major > Fix For: 1.15.0 > > -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (DISPATCH-1780) multicast support for http 1.1 adaptor
[ https://issues.apache.org/jira/browse/DISPATCH-1780?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17226856#comment-17226856 ] ASF GitHub Bot commented on DISPATCH-1780: -- grs commented on a change in pull request #909: URL: https://github.com/apache/qpid-dispatch/pull/909#discussion_r518216671 ## File path: src/adaptors/http1/http1_server.c ## @@ -1056,11 +1063,10 @@ void qdr_http1_server_core_link_flow(qdr_http1_adaptor_t*adaptor, rmsg->dlv = qdr_link_deliver_to(hconn->in_link, rmsg->msg, 0, addr, false, 0, 0, 0, 0); qdr_delivery_set_context(rmsg->dlv, (void*) hreq); rmsg->msg = 0; -if (!rmsg->rx_complete) { +if (!rmsg->rx_complete || hconn->cfg.aggregation != QD_AGGREGATION_NONE) { // stop here since response must be complete before we can deliver the next one. Review comment: Will update comment. I don't want to free the response until it is accepted. This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > multicast support for http 1.1 adaptor > -- > > Key: DISPATCH-1780 > URL: https://issues.apache.org/jira/browse/DISPATCH-1780 > Project: Qpid Dispatch > Issue Type: Improvement >Reporter: Gordon Sim >Assignee: Gordon Sim >Priority: Major > Fix For: 1.15.0 > > -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (DISPATCH-1780) multicast support for http 1.1 adaptor
[ https://issues.apache.org/jira/browse/DISPATCH-1780?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17226841#comment-17226841 ] ASF GitHub Bot commented on DISPATCH-1780: -- grs commented on a change in pull request #909: URL: https://github.com/apache/qpid-dispatch/pull/909#discussion_r518213598 ## File path: src/adaptors/http1/http1_client.c ## @@ -942,6 +1126,10 @@ void qdr_http1_client_core_delivery_update(qdr_http1_adaptor_t *adaptor, qdr_http1_error_response(&hreq->base, 503, "Service Unavailable"); Review comment: Good point. I think for an aggregated response to a multicast request, the actual outcome of the request is not relevant. I'll fix. This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > multicast support for http 1.1 adaptor > -- > > Key: DISPATCH-1780 > URL: https://issues.apache.org/jira/browse/DISPATCH-1780 > Project: Qpid Dispatch > Issue Type: Improvement >Reporter: Gordon Sim >Assignee: Gordon Sim >Priority: Major > Fix For: 1.15.0 > > -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (DISPATCH-1780) multicast support for http 1.1 adaptor
[ https://issues.apache.org/jira/browse/DISPATCH-1780?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17226830#comment-17226830 ] ASF GitHub Bot commented on DISPATCH-1780: -- grs commented on a change in pull request #909: URL: https://github.com/apache/qpid-dispatch/pull/909#discussion_r518204611 ## File path: src/adaptors/http1/http1_client.c ## @@ -1218,6 +1406,26 @@ uint64_t qdr_http1_client_core_link_deliver(qdr_http1_adaptor_t*adaptor, _client_response_msg_t *rmsg = DEQ_TAIL(hreq->responses); assert(rmsg && rmsg->dlv == delivery); +if (hconn->cfg.aggregation != QD_AGGREGATION_NONE) { Review comment: Will do This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > multicast support for http 1.1 adaptor > -- > > Key: DISPATCH-1780 > URL: https://issues.apache.org/jira/browse/DISPATCH-1780 > Project: Qpid Dispatch > Issue Type: Improvement >Reporter: Gordon Sim >Assignee: Gordon Sim >Priority: Major > Fix For: 1.15.0 > > -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (DISPATCH-1780) multicast support for http 1.1 adaptor
[ https://issues.apache.org/jira/browse/DISPATCH-1780?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17226828#comment-17226828 ] ASF GitHub Bot commented on DISPATCH-1780: -- grs commented on a change in pull request #909: URL: https://github.com/apache/qpid-dispatch/pull/909#discussion_r518203788 ## File path: src/adaptors/http1/http1_client.c ## @@ -575,7 +585,12 @@ static void _client_tx_stream_data_cb(h1_codec_request_state_t *hrs, qd_message_ // responses are decoded one at a time - the current response it at the // tail of the response list -_client_response_msg_t *rmsg = DEQ_TAIL(hreq->responses); +_client_response_msg_t *rmsg; +if (hconn->cfg.aggregation == QD_AGGREGATION_NONE) { +rmsg = DEQ_TAIL(hreq->responses); +} else { +rmsg = DEQ_HEAD(hreq->responses); Review comment: Will do! This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > multicast support for http 1.1 adaptor > -- > > Key: DISPATCH-1780 > URL: https://issues.apache.org/jira/browse/DISPATCH-1780 > Project: Qpid Dispatch > Issue Type: Improvement >Reporter: Gordon Sim >Assignee: Gordon Sim >Priority: Major > Fix For: 1.15.0 > > -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (DISPATCH-1780) multicast support for http 1.1 adaptor
[ https://issues.apache.org/jira/browse/DISPATCH-1780?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17226827#comment-17226827 ] ASF GitHub Bot commented on DISPATCH-1780: -- grs commented on a change in pull request #909: URL: https://github.com/apache/qpid-dispatch/pull/909#discussion_r518203635 ## File path: src/adaptors/http1/http1_client.c ## @@ -541,7 +546,12 @@ static void _client_tx_buffers_cb(h1_codec_request_state_t *hrs, qd_buffer_list_ // responses are decoded one at a time - the current response it at the // tail of the response list -_client_response_msg_t *rmsg = DEQ_TAIL(hreq->responses); +_client_response_msg_t *rmsg; +if (hconn->cfg.aggregation == QD_AGGREGATION_NONE) { +rmsg = DEQ_TAIL(hreq->responses); +} else { +rmsg = DEQ_HEAD(hreq->responses); Review comment: I'll update the comment to explain, but yes, when aggregating we don't send out separate reponses for each response message. Using the head for the single aggregated response is arbitrary I suppose but it seemed simplest. This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > multicast support for http 1.1 adaptor > -- > > Key: DISPATCH-1780 > URL: https://issues.apache.org/jira/browse/DISPATCH-1780 > Project: Qpid Dispatch > Issue Type: Improvement >Reporter: Gordon Sim >Assignee: Gordon Sim >Priority: Major > Fix For: 1.15.0 > > -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (DISPATCH-1780) multicast support for http 1.1 adaptor
[ https://issues.apache.org/jira/browse/DISPATCH-1780?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17226826#comment-17226826 ] ASF GitHub Bot commented on DISPATCH-1780: -- grs commented on a change in pull request #909: URL: https://github.com/apache/qpid-dispatch/pull/909#discussion_r518202818 ## File path: src/adaptors/http1/http1_codec.c ## @@ -1528,6 +1533,62 @@ static inline void _flush_headers(h1_codec_request_state_t *hrs, struct encoder_ } } +int h1_codec_tx_begin_multipart(h1_codec_request_state_t *hrs) +{ +h1_codec_connection_t *conn = h1_codec_request_state_get_connection(hrs); +struct encoder_t *encoder = &conn->encoder; +encoder->boundary_marker = (char*) malloc(QD_DISCRIMINATOR_SIZE + 2); Review comment: Oops! yes it should! This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > multicast support for http 1.1 adaptor > -- > > Key: DISPATCH-1780 > URL: https://issues.apache.org/jira/browse/DISPATCH-1780 > Project: Qpid Dispatch > Issue Type: Improvement >Reporter: Gordon Sim >Assignee: Gordon Sim >Priority: Major > Fix For: 1.15.0 > > -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (DISPATCH-1780) multicast support for http 1.1 adaptor
[ https://issues.apache.org/jira/browse/DISPATCH-1780?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17226825#comment-17226825 ] ASF GitHub Bot commented on DISPATCH-1780: -- grs commented on a change in pull request #909: URL: https://github.com/apache/qpid-dispatch/pull/909#discussion_r518202662 ## File path: python/qpid_dispatch/management/qdrouter.json ## @@ -1124,6 +1124,18 @@ "default": "HTTP1", "required": false, "create": true +}, +"aggregation": { +"type": "string", Review comment: Will do! This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > multicast support for http 1.1 adaptor > -- > > Key: DISPATCH-1780 > URL: https://issues.apache.org/jira/browse/DISPATCH-1780 > Project: Qpid Dispatch > Issue Type: Improvement >Reporter: Gordon Sim >Assignee: Gordon Sim >Priority: Major > Fix For: 1.15.0 > > -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (DISPATCH-1780) multicast support for http 1.1 adaptor
[ https://issues.apache.org/jira/browse/DISPATCH-1780?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17226259#comment-17226259 ] ASF GitHub Bot commented on DISPATCH-1780: -- kgiusti commented on a change in pull request #909: URL: https://github.com/apache/qpid-dispatch/pull/909#discussion_r516675946 ## File path: python/qpid_dispatch/management/qdrouter.json ## @@ -1165,6 +1177,18 @@ "default": "HTTP1", "required": false, "create": true +}, +"aggregation": { +"type": "string", Review comment: Ditto above comment ## File path: python/qpid_dispatch/management/qdrouter.json ## @@ -1124,6 +1124,18 @@ "default": "HTTP1", "required": false, "create": true +}, +"aggregation": { +"type": "string", Review comment: Would it be possible to use a 'type' list of allowed values here like we do for protocolVersion? ## File path: src/adaptors/http1/http1_codec.c ## @@ -1528,6 +1533,62 @@ static inline void _flush_headers(h1_codec_request_state_t *hrs, struct encoder_ } } +int h1_codec_tx_begin_multipart(h1_codec_request_state_t *hrs) +{ +h1_codec_connection_t *conn = h1_codec_request_state_get_connection(hrs); +struct encoder_t *encoder = &conn->encoder; +encoder->boundary_marker = (char*) malloc(QD_DISCRIMINATOR_SIZE + 2); Review comment: Should the boundary_marker be freed in the encoder reset function? or perhaps during end_multipart? ## File path: src/adaptors/http1/http1_server.c ## @@ -1056,11 +1063,10 @@ void qdr_http1_server_core_link_flow(qdr_http1_adaptor_t*adaptor, rmsg->dlv = qdr_link_deliver_to(hconn->in_link, rmsg->msg, 0, addr, false, 0, 0, 0, 0); qdr_delivery_set_context(rmsg->dlv, (void*) hreq); rmsg->msg = 0; -if (!rmsg->rx_complete) { +if (!rmsg->rx_complete || hconn->cfg.aggregation != QD_AGGREGATION_NONE) { // stop here since response must be complete before we can deliver the next one. Review comment: Why exit sooner than rx_complete if aggregation? comment needs updating ## File path: src/adaptors/http1/http1_client.c ## @@ -1218,6 +1406,26 @@ uint64_t qdr_http1_client_core_link_deliver(qdr_http1_adaptor_t*adaptor, _client_response_msg_t *rmsg = DEQ_TAIL(hreq->responses); assert(rmsg && rmsg->dlv == delivery); +if (hconn->cfg.aggregation != QD_AGGREGATION_NONE) { Review comment: Pls add comment explaining that responses are saved and not encoded until after the request has been accepted. ## File path: src/adaptors/http1/http1_client.c ## @@ -541,7 +546,12 @@ static void _client_tx_buffers_cb(h1_codec_request_state_t *hrs, qd_buffer_list_ // responses are decoded one at a time - the current response it at the // tail of the response list -_client_response_msg_t *rmsg = DEQ_TAIL(hreq->responses); +_client_response_msg_t *rmsg; +if (hconn->cfg.aggregation == QD_AGGREGATION_NONE) { +rmsg = DEQ_TAIL(hreq->responses); +} else { +rmsg = DEQ_HEAD(hreq->responses); Review comment: My brain exploded. Why the _head_ response message? ## File path: src/adaptors/http1/http1_client.c ## @@ -575,7 +585,12 @@ static void _client_tx_stream_data_cb(h1_codec_request_state_t *hrs, qd_message_ // responses are decoded one at a time - the current response it at the // tail of the response list -_client_response_msg_t *rmsg = DEQ_TAIL(hreq->responses); +_client_response_msg_t *rmsg; +if (hconn->cfg.aggregation == QD_AGGREGATION_NONE) { +rmsg = DEQ_TAIL(hreq->responses); +} else { +rmsg = DEQ_HEAD(hreq->responses); Review comment: Ouch - brain explodes again! ## File path: src/adaptors/http1/http1_client.c ## @@ -942,6 +1126,10 @@ void qdr_http1_client_core_delivery_update(qdr_http1_adaptor_t *adaptor, qdr_http1_error_response(&hreq->base, 503, "Service Unavailable"); Review comment: Note that qdr_http1_error_response() calls h1_codec_tx_done which closes the encoder - will that conflict with the new aggregation code below? Should the new code be skipped if !PN_ACCEPTED? ## File path: src/adaptors/http1/http1_client.c ## @@ -541,7 +546,12 @@ static void _client_tx_buffers_cb(h1_codec_request_state_t *hrs, qd_buffer_list_ // responses are decoded one at a time - the current response it at the // tail of the response list -_client_response_msg_t *rmsg = DEQ_TAIL(hreq->responses); +_client_response_msg
[jira] [Commented] (DISPATCH-1780) multicast support for http 1.1 adaptor
[ https://issues.apache.org/jira/browse/DISPATCH-1780?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17225405#comment-17225405 ] ASF GitHub Bot commented on DISPATCH-1780: -- grs opened a new pull request #909: URL: https://github.com/apache/qpid-dispatch/pull/909 This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > multicast support for http 1.1 adaptor > -- > > Key: DISPATCH-1780 > URL: https://issues.apache.org/jira/browse/DISPATCH-1780 > Project: Qpid Dispatch > Issue Type: Improvement >Reporter: Gordon Sim >Assignee: Gordon Sim >Priority: Major > Fix For: 1.15.0 > > -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org