summaryrefslogtreecommitdiff
path: root/qpid/extras/dispatch/src/python_embedded.c
diff options
context:
space:
mode:
authorTed Ross <tross@apache.org>2013-09-04 21:42:22 +0000
committerTed Ross <tross@apache.org>2013-09-04 21:42:22 +0000
commit4ca6fc898223f21601d6c24ad380beb031786330 (patch)
treee5893616e68dba2bd8a730609d872f19517e0536 /qpid/extras/dispatch/src/python_embedded.c
parentdcfea8883711341ee76ca3e394c45ebfd757c4f7 (diff)
downloadqpid-python-4ca6fc898223f21601d6c24ad380beb031786330.tar.gz
QPID-5068 - Added feature to allow for modification of Delivery Annotations
- Added annotation for ingress router - Added annotation for trace git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1520148 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/extras/dispatch/src/python_embedded.c')
-rw-r--r--qpid/extras/dispatch/src/python_embedded.c22
1 files changed, 16 insertions, 6 deletions
diff --git a/qpid/extras/dispatch/src/python_embedded.c b/qpid/extras/dispatch/src/python_embedded.c
index 51e3c0e1a6..0b0cc11025 100644
--- a/qpid/extras/dispatch/src/python_embedded.c
+++ b/qpid/extras/dispatch/src/python_embedded.c
@@ -495,18 +495,28 @@ static void IoAdapter_dealloc(IoAdapter* self)
static PyObject* dx_python_send(PyObject *self, PyObject *args)
{
- IoAdapter *ioa = (IoAdapter*) self;
- const char *address;
- PyObject *app_properties;
- PyObject *body;
+ IoAdapter *ioa = (IoAdapter*) self;
+ dx_composed_field_t *field = 0;
+ const char *address;
+ PyObject *app_properties;
+ PyObject *body;
+
if (!PyArg_ParseTuple(args, "sOO", &address, &app_properties, &body))
return 0;
- dx_composed_field_t *field = dx_compose(DX_PERFORMATIVE_HEADER, 0);
+ field = dx_compose(DX_PERFORMATIVE_DELIVERY_ANNOTATIONS, field);
+ dx_compose_start_map(field);
+
+ dx_compose_insert_string(field, "qdx.ingress");
+ dx_compose_insert_string(field, dx_router_id(ioa->dx));
+
+ dx_compose_insert_string(field, "qdx.trace");
dx_compose_start_list(field);
- dx_compose_insert_bool(field, 0); // durable
+ dx_compose_insert_string(field, dx_router_id(ioa->dx));
dx_compose_end_list(field);
+ dx_compose_end_map(field);
+
field = dx_compose(DX_PERFORMATIVE_PROPERTIES, field);
dx_compose_start_list(field);
dx_compose_insert_null(field); // message-id