You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by tr...@apache.org on 2020/08/04 18:58:07 UTC
[qpid-dispatch] 21/32: Dataplane: Added API for streaming data out
of messages. This commit adds the requirement for Proton raw-connection
support.
This is an automated email from the ASF dual-hosted git repository.
tross pushed a commit to branch dev-protocol-adaptors
in repository https://gitbox.apache.org/repos/asf/qpid-dispatch.git
commit 7cb6c07035216060ac48063a66a9e7c87bf6362a
Author: Ted Ross <tr...@apache.org>
AuthorDate: Tue Jun 9 13:18:45 2020 -0400
Dataplane: Added API for streaming data out of messages. This commit adds the requirement for Proton raw-connection support.
---
include/qpid/dispatch/message.h | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)
diff --git a/include/qpid/dispatch/message.h b/include/qpid/dispatch/message.h
index 1a7bce2..e16d780 100644
--- a/include/qpid/dispatch/message.h
+++ b/include/qpid/dispatch/message.h
@@ -26,6 +26,7 @@
#include <qpid/dispatch/parse.h>
#include <qpid/dispatch/container.h>
#include <qpid/dispatch/log.h>
+#include <proton/raw_connection.h>
/**@file
* Message representation.
@@ -305,6 +306,34 @@ void qd_message_compose_5(qd_message_t *msg,
int qd_message_extend(qd_message_t *msg, qd_buffer_list_t *buffers);
+/**
+ * qd_message_read_body
+ *
+ * Populate Proton raw buffers from the body section in a streaming fashion (i.e. repeated
+ * invocations yield new seqments of the content stream). The buffers will be left in place
+ * in the message until they are explicitly released.
+ *
+ * @param msg Pointer to a message
+ * @param buffers An array of raw-buffer descriptors to be written
+ * @param buffer_count The number of descriptors supplied in buffers
+ * @return The number of raw buffers written.
+ */
+int qd_message_read_body(qd_message_t *msg, pn_raw_buffer_t *buffers, int buffer_count);
+
+
+/**
+ * qd_message_release_body
+ *
+ * Release buffers that were aliased by Proton raw buffers. The buffers in the message that
+ * have been fully read will have their reference counts decreased so they may be freed
+ *
+ * @param msg Pointer to a message
+ * @param buffers An array of raw-buffer descriptors previously returned by qd_message_read_body
+ * @param buffer_count The number of descriptors in the array that contained data
+ */
+void qd_message_release_body(qd_message_t *msg, pn_raw_buffer_t *buffers, int buffer_count);
+
+
/** Put string representation of a message suitable for logging in buffer.
* @return buffer
*/
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org