summaryrefslogtreecommitdiff
path: root/qpid/extras/dispatch/src/message.c
diff options
context:
space:
mode:
Diffstat (limited to 'qpid/extras/dispatch/src/message.c')
-rw-r--r--qpid/extras/dispatch/src/message.c56
1 files changed, 0 insertions, 56 deletions
diff --git a/qpid/extras/dispatch/src/message.c b/qpid/extras/dispatch/src/message.c
index ea5092b13e..041205879e 100644
--- a/qpid/extras/dispatch/src/message.c
+++ b/qpid/extras/dispatch/src/message.c
@@ -785,62 +785,6 @@ dx_field_iterator_t *dx_message_field_iterator(dx_message_t *msg, dx_message_fie
}
-dx_iovec_t *dx_message_field_iovec(dx_message_t *msg, dx_message_field_t field)
-{
- dx_field_location_t *loc = dx_message_field_location(msg, field);
- if (!loc)
- return 0;
-
- //
- // Count the number of buffers this field straddles
- //
- int bufcnt = 1;
- dx_buffer_t *buf = loc->buffer;
- size_t bufsize = dx_buffer_size(buf) - loc->offset;
- ssize_t remaining = loc->length - bufsize;
-
- while (remaining > 0) {
- bufcnt++;
- buf = buf->next;
- if (!buf)
- return 0;
- remaining -= dx_buffer_size(buf);
- }
-
- //
- // Allocate an iovec object big enough to hold the number of buffers
- //
- dx_iovec_t *iov = dx_iovec(bufcnt);
- if (!iov)
- return 0;
-
- //
- // Build out the io vectors with pointers to the segments of the field in buffers
- //
- bufcnt = 0;
- buf = loc->buffer;
- bufsize = dx_buffer_size(buf) - loc->offset;
- void *base = dx_buffer_base(buf) + loc->offset;
- remaining = loc->length;
-
- while (remaining > 0) {
- if (bufsize > remaining)
- bufsize = remaining;
- dx_iovec_array(iov)[bufcnt].iov_base = base;
- dx_iovec_array(iov)[bufcnt].iov_len = bufsize;
- bufcnt++;
- remaining -= bufsize;
- if (remaining > 0) {
- buf = buf->next;
- base = dx_buffer_base(buf);
- bufsize = dx_buffer_size(buf);
- }
- }
-
- return iov;
-}
-
-
ssize_t dx_message_field_length(dx_message_t *msg, dx_message_field_t field)
{
dx_field_location_t *loc = dx_message_field_location(msg, field);