[jira] [Commented] (DISPATCH-1780) multicast support for http 1.1 adaptor

2022-01-19 Thread ASF GitHub Bot (Jira)


[ 
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

2021-01-13 Thread ASF GitHub Bot (Jira)


[ 
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

2021-01-13 Thread ASF subversion and git services (Jira)


[ 
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

2021-01-13 Thread ASF GitHub Bot (Jira)


[ 
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

2020-12-17 Thread ASF subversion and git services (Jira)


[ 
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

2020-12-17 Thread ASF GitHub Bot (Jira)


[ 
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

2020-12-17 Thread ASF subversion and git services (Jira)


[ 
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

2020-12-17 Thread ASF GitHub Bot (Jira)


[ 
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

2020-12-17 Thread ASF GitHub Bot (Jira)


[ 
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

2020-12-17 Thread ASF GitHub Bot (Jira)


[ 
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

2020-12-17 Thread ASF GitHub Bot (Jira)


[ 
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

2020-12-17 Thread ASF GitHub Bot (Jira)


[ 
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

2020-12-16 Thread ASF GitHub Bot (Jira)


[ 
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

2020-12-16 Thread ASF GitHub Bot (Jira)


[ 
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

2020-11-05 Thread ASF GitHub Bot (Jira)


[ 
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

2020-11-05 Thread ASF GitHub Bot (Jira)


[ 
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

2020-11-05 Thread ASF GitHub Bot (Jira)


[ 
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

2020-11-05 Thread ASF GitHub Bot (Jira)


[ 
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

2020-11-05 Thread ASF GitHub Bot (Jira)


[ 
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

2020-11-05 Thread ASF GitHub Bot (Jira)


[ 
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

2020-11-05 Thread ASF GitHub Bot (Jira)


[ 
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

2020-11-04 Thread ASF GitHub Bot (Jira)


[ 
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

2020-11-03 Thread ASF GitHub Bot (Jira)


[ 
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