Author: gsim Date: Fri Oct 10 12:51:19 2014 New Revision: 1630817 URL: http://svn.apache.org/r1630817 Log: made pn_collector_put public and modified collector to work with regular void * pointers as well as pn_object pointers
Added: qpid/proton/branches/examples/proton-j/src/main/resources/cobject.py - copied, changed from r1630816, qpid/proton/branches/examples/proton-j/src/main/resources/cproton.py Modified: qpid/proton/branches/examples/proton-c/bindings/python/cproton.i qpid/proton/branches/examples/proton-c/bindings/python/proton.py qpid/proton/branches/examples/proton-c/include/proton/cproton.i qpid/proton/branches/examples/proton-c/include/proton/event.h qpid/proton/branches/examples/proton-c/include/proton/object.h qpid/proton/branches/examples/proton-c/src/engine/engine.c qpid/proton/branches/examples/proton-c/src/events/event.c qpid/proton/branches/examples/proton-c/src/object/object.c qpid/proton/branches/examples/proton-c/src/transport/transport.c qpid/proton/branches/examples/proton-j/src/main/java/org/apache/qpid/proton/engine/Event.java qpid/proton/branches/examples/proton-j/src/main/resources/cengine.py qpid/proton/branches/examples/proton-j/src/main/resources/cproton.py qpid/proton/branches/examples/tests/python/proton_tests/engine.py Modified: qpid/proton/branches/examples/proton-c/bindings/python/cproton.i URL: http://svn.apache.org/viewvc/qpid/proton/branches/examples/proton-c/bindings/python/cproton.i?rev=1630817&r1=1630816&r2=1630817&view=diff ============================================================================== --- qpid/proton/branches/examples/proton-c/bindings/python/cproton.i (original) +++ qpid/proton/branches/examples/proton-c/bindings/python/cproton.i Fri Oct 10 12:51:19 2014 @@ -375,5 +375,23 @@ bool pn_ssl_get_protocol_name(pn_ssl_t * int pn_ssl_get_peer_hostname(pn_ssl_t *ssl, char *OUTPUT, size_t *OUTPUT_SIZE); %ignore pn_ssl_get_peer_hostname; +%inline %{ + void *pn_py2void(PyObject *object) { + return object; + } + + PyObject *pn_void2py(void *object) { + if (object) { + Py_INCREF(object); + return object; + } else { + Py_RETURN_NONE; + } + } + + PyObject *pn_cast_pn_void(void *object) { + return pn_void2py(object); + } +%} %include "proton/cproton.i" Modified: qpid/proton/branches/examples/proton-c/bindings/python/proton.py URL: http://svn.apache.org/viewvc/qpid/proton/branches/examples/proton-c/bindings/python/proton.py?rev=1630817&r1=1630816&r2=1630817&view=diff ============================================================================== --- qpid/proton/branches/examples/proton-c/bindings/python/proton.py (original) +++ qpid/proton/branches/examples/proton-c/bindings/python/proton.py Fri Oct 10 12:51:19 2014 @@ -3324,29 +3324,32 @@ class SSLSessionDetails(object): return self._session_id +wrappers = { + "pn_void": lambda x: pn_void2py(x), + "pn_connection": lambda x: Connection._wrap_connection(pn_cast_pn_connection(x)), + "pn_session": lambda x: Session._wrap_session(pn_cast_pn_session(x)), + "pn_link": lambda x: Link._wrap_link(pn_cast_pn_link(x)), + "pn_delivery": lambda x: Delivery._wrap_delivery(pn_cast_pn_delivery(x)), + "pn_transport": lambda x: Transport(pn_cast_pn_transport(x)) +} + class Collector: def __init__(self): self._impl = pn_collector() self._contexts = set() + def put(self, obj, etype): + pn_collector_put(self._impl, PN_VOID, pn_py2void(obj), etype) + def peek(self): event = pn_collector_peek(self._impl) if event is None: return None - tpi = pn_event_transport(event) - if tpi: - tp = Transport(tpi) - else: - tp = None - return Event(type=pn_event_type(event), - category=pn_event_category(event), - connection=Connection._wrap_connection(pn_event_connection(event)), - session=Session._wrap_session(pn_event_session(event)), - link=Link._wrap_link(pn_event_link(event)), - delivery=Delivery._wrap_delivery(pn_event_delivery(event)), - transport=tp) + clazz = pn_class_name(pn_event_class(event)) + context = wrappers[clazz](pn_event_context(event)) + return Event(clazz, context, pn_event_type(event)) def pop(self): ev = self.peek() @@ -3390,34 +3393,19 @@ class Event: DELIVERY = PN_DELIVERY TRANSPORT = PN_TRANSPORT - def __init__(self, type, category, - connection, session, link, delivery, transport): + def __init__(self, clazz, context, type): + self.clazz = clazz + self.context = context self.type = type - self.category = category - self.connection = connection - self.session = session - self.link = link - self.delivery = delivery - self.transport = transport def _popped(self, collector): - if self.type == Event.LINK_FINAL: - ctx = self.link - elif self.type == Event.SESSION_FINAL: - ctx = self.session - elif self.type == Event.CONNECTION_FINAL: - ctx = self.connection - else: - return - - collector._contexts.remove(ctx) - ctx._released() + if self.type in (Event.LINK_FINAL, Event.SESSION_FINAL, + Event.CONNECTION_FINAL): + collector._contexts.remove(self.context) + self.context._released() def __repr__(self): - objects = [self.connection, self.session, self.link, self.delivery, - self.transport] - return "%s(%s)" % (pn_event_type_name(self.type), - ", ".join([str(o) for o in objects if o is not None])) + return "%s(%s)" % (pn_event_type_name(self.type), self.context) ### # Driver Modified: qpid/proton/branches/examples/proton-c/include/proton/cproton.i URL: http://svn.apache.org/viewvc/qpid/proton/branches/examples/proton-c/include/proton/cproton.i?rev=1630817&r1=1630816&r2=1630817&view=diff ============================================================================== --- qpid/proton/branches/examples/proton-c/include/proton/cproton.i (original) +++ qpid/proton/branches/examples/proton-c/include/proton/cproton.i Fri Oct 10 12:51:19 2014 @@ -26,6 +26,7 @@ typedef unsigned long int uint32_t; typedef long int int32_t; typedef unsigned long long int uint64_t; typedef long long int int64_t; +typedef unsigned long int uintptr_t; /* Parse these interface header files to generate APIs for script languages */ @@ -1385,3 +1386,11 @@ typedef long long int int64_t; %ignore pn_data_vscan; %include "proton/codec.h" + +%inline %{ + pn_connection_t *pn_cast_pn_connection(void *x) { return (pn_connection_t *) x; } + pn_session_t *pn_cast_pn_session(void *x) { return (pn_session_t *) x; } + pn_link_t *pn_cast_pn_link(void *x) { return (pn_link_t *) x; } + pn_delivery_t *pn_cast_pn_delivery(void *x) { return (pn_delivery_t *) x; } + pn_transport_t *pn_cast_pn_transport(void *x) { return (pn_transport_t *) x; } +%} Modified: qpid/proton/branches/examples/proton-c/include/proton/event.h URL: http://svn.apache.org/viewvc/qpid/proton/branches/examples/proton-c/include/proton/event.h?rev=1630817&r1=1630816&r2=1630817&view=diff ============================================================================== --- qpid/proton/branches/examples/proton-c/include/proton/event.h (original) +++ qpid/proton/branches/examples/proton-c/include/proton/event.h Fri Oct 10 12:51:19 2014 @@ -272,8 +272,9 @@ PN_EXTERN void pn_collector_free(pn_coll * was elided */ -pn_event_t *pn_collector_put(pn_collector_t *collector, pn_event_type_t type, - void *context); +pn_event_t *pn_collector_put(pn_collector_t *collector, + const pn_class_t *clazz, void *context, + pn_event_type_t type); /** * Access the head event contained by a collector. @@ -313,6 +314,14 @@ PN_EXTERN pn_event_type_t pn_event_type( PN_EXTERN pn_event_category_t pn_event_category(pn_event_t *event); /** + * Get the class associated with the event context. + * + * @param[in] event an event object + * @return the class associated with the event context + */ +PN_EXTERN const pn_class_t *pn_event_class(pn_event_t *event); + +/** * Get the context associated with an event. */ PN_EXTERN void *pn_event_context(pn_event_t *event); Modified: qpid/proton/branches/examples/proton-c/include/proton/object.h URL: http://svn.apache.org/viewvc/qpid/proton/branches/examples/proton-c/include/proton/object.h?rev=1630817&r1=1630816&r2=1630817&view=diff ============================================================================== --- qpid/proton/branches/examples/proton-c/include/proton/object.h (original) +++ qpid/proton/branches/examples/proton-c/include/proton/object.h Fri Oct 10 12:51:19 2014 @@ -92,6 +92,7 @@ extern const pn_class_t *PN_WEAKREF; PREFIX ## _inspect \ } +PN_EXTERN const char *pn_class_name(const pn_class_t *clazz); PN_EXTERN void *pn_class_new(const pn_class_t *clazz, size_t size); PN_EXTERN void *pn_class_incref(const pn_class_t *clazz, void *object); PN_EXTERN int pn_class_refcount(const pn_class_t *clazz, void *object); Modified: qpid/proton/branches/examples/proton-c/src/engine/engine.c URL: http://svn.apache.org/viewvc/qpid/proton/branches/examples/proton-c/src/engine/engine.c?rev=1630817&r1=1630816&r2=1630817&view=diff ============================================================================== --- qpid/proton/branches/examples/proton-c/src/engine/engine.c (original) +++ qpid/proton/branches/examples/proton-c/src/engine/engine.c Fri Oct 10 12:51:19 2014 @@ -71,8 +71,8 @@ static void pn_endpoint_open(pn_endpoint // TODO: do we care about the current state? PN_SET_LOCAL(endpoint->state, PN_LOCAL_ACTIVE); pn_connection_t *conn = pn_ep_get_connection(endpoint); - pn_collector_put(conn->collector, endpoint_event(endpoint->type, true), - endpoint); + pn_collector_put(conn->collector, PN_OBJECT, endpoint, + endpoint_event(endpoint->type, true)); pn_modified(conn, endpoint, true); } @@ -81,8 +81,8 @@ static void pn_endpoint_close(pn_endpoin // TODO: do we care about the current state? PN_SET_LOCAL(endpoint->state, PN_LOCAL_CLOSED); pn_connection_t *conn = pn_ep_get_connection(endpoint); - pn_collector_put(conn->collector, endpoint_event(endpoint->type, false), - endpoint); + pn_collector_put(conn->collector, PN_OBJECT, endpoint, + endpoint_event(endpoint->type, false)); pn_modified(conn, endpoint, true); } @@ -336,7 +336,8 @@ static bool pni_post_final(pn_endpoint_t pn_connection_t *conn = pn_ep_get_connection(endpoint); if (!endpoint->posted_final) { endpoint->posted_final = true; - pn_event_t *event = pn_collector_put(conn->collector, type, endpoint); + pn_event_t *event = pn_collector_put(conn->collector, PN_OBJECT, endpoint, + type); if (event) { return true; } } @@ -408,7 +409,7 @@ void pn_connection_collect(pn_connection pn_incref(connection->collector); pn_endpoint_t *endpoint = connection->endpoint_head; while (endpoint) { - pn_collector_put(connection->collector, endpoint_init_event_map[endpoint->type], endpoint); + pn_collector_put(connection->collector, PN_OBJECT, endpoint, endpoint_init_event_map[endpoint->type]); endpoint = endpoint->endpoint_next; } } @@ -596,8 +597,8 @@ void pn_modified(pn_connection_t *connec } if (emit && connection->transport) { - pn_collector_put(connection->collector, PN_TRANSPORT, - connection->transport); + pn_collector_put(connection->collector, PN_OBJECT, connection->transport, + PN_TRANSPORT); } } @@ -741,7 +742,7 @@ pn_session_t *pn_session(pn_connection_t ssn->state.remote_handles = pn_hash(PN_OBJECT, 0, 0.75); // end transport state - pn_collector_put(conn->collector, PN_SESSION_INIT, ssn); + pn_collector_put(conn->collector, PN_OBJECT, ssn, PN_SESSION_INIT); return ssn; } @@ -868,7 +869,7 @@ pn_link_t *pn_link_new(int type, pn_sess link->state.link_credit = 0; // end transport state - pn_collector_put(session->connection->collector, PN_LINK_INIT, link); + pn_collector_put(session->connection->collector, PN_OBJECT, link, PN_LINK_INIT); return link; } Modified: qpid/proton/branches/examples/proton-c/src/events/event.c URL: http://svn.apache.org/viewvc/qpid/proton/branches/examples/proton-c/src/events/event.c?rev=1630817&r1=1630816&r2=1630817&view=diff ============================================================================== --- qpid/proton/branches/examples/proton-c/src/events/event.c (original) +++ qpid/proton/branches/examples/proton-c/src/events/event.c Fri Oct 10 12:51:19 2014 @@ -10,6 +10,7 @@ struct pn_collector_t { }; struct pn_event_t { + const pn_class_t *clazz; void *context; // depends on type pn_event_t *next; pn_event_type_t type; @@ -96,7 +97,9 @@ void pn_collector_free(pn_collector_t *c pn_event_t *pn_event(void); static void pn_event_initialize(void *obj); -pn_event_t *pn_collector_put(pn_collector_t *collector, pn_event_type_t type, void *context) +pn_event_t *pn_collector_put(pn_collector_t *collector, + const pn_class_t *clazz, void *context, + pn_event_type_t type) { if (!collector) { return NULL; @@ -113,6 +116,8 @@ pn_event_t *pn_collector_put(pn_collecto return NULL; } + clazz = clazz->reify(context); + pn_event_t *event; if (collector->free_head) { @@ -131,9 +136,10 @@ pn_event_t *pn_collector_put(pn_collecto collector->head = event; } - event->type = type; + event->clazz = clazz; event->context = context; - pn_class_incref(PN_OBJECT, event->context); + event->type = type; + pn_class_incref(clazz, event->context); //printf("event %s on %p\n", pn_event_type_name(event->type), event->context); @@ -160,7 +166,7 @@ bool pn_collector_pop(pn_collector_t *co // decref before adding to the free list if (event->context) { - pn_class_decref(PN_OBJECT, event->context); + pn_class_decref(event->clazz, event->context); event->context = NULL; } @@ -174,6 +180,7 @@ static void pn_event_initialize(void *ob { pn_event_t *event = (pn_event_t *) obj; event->type = PN_EVENT_NONE; + event->clazz = NULL; event->context = NULL; event->next = NULL; } @@ -188,7 +195,7 @@ static int pn_event_inspect(void *obj, p if (event->context) { err = pn_string_addf(dst, ", "); if (err) return err; - err = pn_inspect(event->context, dst); + err = pn_class_inspect(event->clazz, event->context, dst); if (err) return err; } @@ -215,6 +222,12 @@ pn_event_category_t pn_event_category(pn return (pn_event_category_t)(event->type & 0xFFFF0000); } +const pn_class_t *pn_event_class(pn_event_t *event) +{ + assert(event); + return event->clazz; +} + void *pn_event_context(pn_event_t *event) { assert(event); Modified: qpid/proton/branches/examples/proton-c/src/object/object.c URL: http://svn.apache.org/viewvc/qpid/proton/branches/examples/proton-c/src/object/object.c?rev=1630817&r1=1630816&r2=1630817&view=diff ============================================================================== --- qpid/proton/branches/examples/proton-c/src/object/object.c (original) +++ qpid/proton/branches/examples/proton-c/src/object/object.c Fri Oct 10 12:51:19 2014 @@ -47,6 +47,11 @@ static int pn_void_inspect(void *object, const pn_class_t PNI_VOID = PN_METACLASS(pn_void); const pn_class_t *PN_VOID = &PNI_VOID; +const char *pn_class_name(const pn_class_t *clazz) +{ + return clazz->name; +} + void *pn_class_new(const pn_class_t *clazz, size_t size) { assert(clazz); Modified: qpid/proton/branches/examples/proton-c/src/transport/transport.c URL: http://svn.apache.org/viewvc/qpid/proton/branches/examples/proton-c/src/transport/transport.c?rev=1630817&r1=1630816&r2=1630817&view=diff ============================================================================== --- qpid/proton/branches/examples/proton-c/src/transport/transport.c (original) +++ qpid/proton/branches/examples/proton-c/src/transport/transport.c Fri Oct 10 12:51:19 2014 @@ -270,7 +270,7 @@ int pn_transport_bind(pn_transport_t *tr pn_incref(connection); if (transport->open_rcvd) { PN_SET_REMOTE(connection->endpoint.state, PN_REMOTE_ACTIVE); - pn_collector_put(connection->collector, PN_CONNECTION_REMOTE_OPEN, connection); + pn_collector_put(connection->collector, PN_OBJECT, connection, PN_CONNECTION_REMOTE_OPEN); transport->disp->halt = false; transport_consume(transport); // blech - testBindAfterOpen } @@ -481,7 +481,7 @@ int pn_do_open(pn_dispatcher_t *disp) if (conn) { PN_SET_REMOTE(conn->endpoint.state, PN_REMOTE_ACTIVE); - pn_collector_put(conn->collector, PN_CONNECTION_REMOTE_OPEN, conn); + pn_collector_put(conn->collector, PN_OBJECT, conn, PN_CONNECTION_REMOTE_OPEN); } else { transport->disp->halt = true; } @@ -510,7 +510,7 @@ int pn_do_begin(pn_dispatcher_t *disp) ssn->state.incoming_transfer_count = next; pni_map_remote_channel(ssn, disp->channel); PN_SET_REMOTE(ssn->endpoint.state, PN_REMOTE_ACTIVE); - pn_collector_put(transport->connection->collector, PN_SESSION_REMOTE_OPEN, ssn); + pn_collector_put(transport->connection->collector, PN_OBJECT, ssn, PN_SESSION_REMOTE_OPEN); return 0; } @@ -684,7 +684,7 @@ int pn_do_attach(pn_dispatcher_t *disp) link->state.delivery_count = idc; } - pn_collector_put(transport->connection->collector, PN_LINK_REMOTE_OPEN, link); + pn_collector_put(transport->connection->collector, PN_OBJECT, link, PN_LINK_REMOTE_OPEN); return 0; } @@ -765,7 +765,7 @@ int pn_do_transfer(pn_dispatcher_t *disp pn_post_flow(transport, ssn, link); } - pn_collector_put(transport->connection->collector, PN_DELIVERY, delivery); + pn_collector_put(transport->connection->collector, PN_OBJECT, delivery, PN_DELIVERY); return 0; } @@ -815,7 +815,7 @@ int pn_do_flow(pn_dispatcher_t *disp) } } - pn_collector_put(transport->connection->collector, PN_LINK_FLOW, link); + pn_collector_put(transport->connection->collector, PN_OBJECT, link, PN_LINK_FLOW); } return 0; @@ -910,7 +910,7 @@ int pn_do_disposition(pn_dispatcher_t *d delivery->updated = true; pn_work_update(transport->connection, delivery); - pn_collector_put(transport->connection->collector, PN_DELIVERY, delivery); + pn_collector_put(transport->connection->collector, PN_OBJECT, delivery, PN_DELIVERY); } } @@ -940,7 +940,7 @@ int pn_do_detach(pn_dispatcher_t *disp) if (closed) { PN_SET_REMOTE(link->endpoint.state, PN_REMOTE_CLOSED); - pn_collector_put(transport->connection->collector, PN_LINK_REMOTE_CLOSE, link); + pn_collector_put(transport->connection->collector, PN_OBJECT, link, PN_LINK_REMOTE_CLOSE); } else { // TODO: implement } @@ -956,7 +956,7 @@ int pn_do_end(pn_dispatcher_t *disp) int err = pn_scan_error(disp->args, &ssn->endpoint.remote_condition, SCAN_ERROR_DEFAULT); if (err) return err; PN_SET_REMOTE(ssn->endpoint.state, PN_REMOTE_CLOSED); - pn_collector_put(transport->connection->collector, PN_SESSION_REMOTE_CLOSE, ssn); + pn_collector_put(transport->connection->collector, PN_OBJECT, ssn, PN_SESSION_REMOTE_CLOSE); pni_unmap_remote_channel(ssn); return 0; } @@ -969,7 +969,7 @@ int pn_do_close(pn_dispatcher_t *disp) if (err) return err; transport->close_rcvd = true; PN_SET_REMOTE(conn->endpoint.state, PN_REMOTE_CLOSED); - pn_collector_put(transport->connection->collector, PN_CONNECTION_REMOTE_CLOSE, conn); + pn_collector_put(transport->connection->collector, PN_OBJECT, conn, PN_CONNECTION_REMOTE_CLOSE); return 0; } @@ -1447,7 +1447,7 @@ int pn_process_tpwork_sender(pn_transpor link->session->outgoing_deliveries--; } - pn_collector_put(transport->connection->collector, PN_LINK_FLOW, link); + pn_collector_put(transport->connection->collector, PN_OBJECT, link, PN_LINK_FLOW); } } Modified: qpid/proton/branches/examples/proton-j/src/main/java/org/apache/qpid/proton/engine/Event.java URL: http://svn.apache.org/viewvc/qpid/proton/branches/examples/proton-j/src/main/java/org/apache/qpid/proton/engine/Event.java?rev=1630817&r1=1630816&r2=1630817&view=diff ============================================================================== --- qpid/proton/branches/examples/proton-j/src/main/java/org/apache/qpid/proton/engine/Event.java (original) +++ qpid/proton/branches/examples/proton-j/src/main/java/org/apache/qpid/proton/engine/Event.java Fri Oct 10 12:51:19 2014 @@ -81,6 +81,8 @@ public interface Event Type getType(); + Object getContext(); + Connection getConnection(); Session getSession(); Modified: qpid/proton/branches/examples/proton-j/src/main/resources/cengine.py URL: http://svn.apache.org/viewvc/qpid/proton/branches/examples/proton-j/src/main/resources/cengine.py?rev=1630817&r1=1630816&r2=1630817&view=diff ============================================================================== --- qpid/proton/branches/examples/proton-j/src/main/resources/cengine.py (original) +++ qpid/proton/branches/examples/proton-j/src/main/resources/cengine.py Fri Oct 10 12:51:19 2014 @@ -1000,8 +1000,33 @@ def pn_event_delivery(event): def pn_event_transport(event): return wrap(event.getTransport(), pn_transport_wrapper) +from org.apache.qpid.proton.engine.impl import ConnectionImpl, SessionImpl, \ + SenderImpl, ReceiverImpl, DeliveryImpl, TransportImpl + +J2C = { + ConnectionImpl: "pn_connection", + SessionImpl: "pn_session", + SenderImpl: "pn_link", + ReceiverImpl: "pn_link", + DeliveryImpl: "pn_delivery", + TransportImpl: "pn_transport" +} + +wrappers = { + "pn_connection": lambda x: wrap(x, pn_connection_wrapper), + "pn_session": lambda x: wrap(x, pn_session_wrapper), + "pn_link": lambda x: wrap(x, pn_link_wrapper), + "pn_delivery": lambda x: wrap(x, pn_delivery_wrapper), + "pn_transport": lambda x: wrap(x, pn_transport_wrapper), + "pn_void": lambda x: x +} + def pn_event_class(event): - return event.getClass() + ctx = event.getContext() + return J2C.get(ctx.getClass(), "pn_void") + +def pn_event_context(event): + return wrappers[pn_event_class(event)](event.getContext()) def pn_event_type(event): return event.getType() Copied: qpid/proton/branches/examples/proton-j/src/main/resources/cobject.py (from r1630816, qpid/proton/branches/examples/proton-j/src/main/resources/cproton.py) URL: http://svn.apache.org/viewvc/qpid/proton/branches/examples/proton-j/src/main/resources/cobject.py?p2=qpid/proton/branches/examples/proton-j/src/main/resources/cobject.py&p1=qpid/proton/branches/examples/proton-j/src/main/resources/cproton.py&r1=1630816&r2=1630817&rev=1630817&view=diff ============================================================================== --- qpid/proton/branches/examples/proton-j/src/main/resources/cproton.py (original) +++ qpid/proton/branches/examples/proton-j/src/main/resources/cobject.py Fri Oct 10 12:51:19 2014 @@ -17,21 +17,23 @@ # under the License. # -""" -The cproton module defines a java implementation of the C interface as -exposed to python via swig. This allows tests defined in python to run -against both the C and Java protocol implementations. -""" - -# @todo(kgiusti) dynamically set these via filters in the pom.xml file -PN_VERSION_MAJOR = 0 -PN_VERSION_MINOR = 0 - -from cerror import * -from ccodec import * -from cengine import * -from csasl import * -from cssl import * -from cdriver import * -from cmessenger import * -from cmessage import * +def pn_class_name(cls): + return cls + +def pn_void2py(obj): + return obj + +def pn_cast_pn_connection(obj): + return obj + +def pn_cast_pn_session(obj): + return obj + +def pn_cast_pn_link(obj): + return obj + +def pn_cast_pn_delivery(obj): + return obj + +def pn_cast_pn_transport(obj): + return obj Modified: qpid/proton/branches/examples/proton-j/src/main/resources/cproton.py URL: http://svn.apache.org/viewvc/qpid/proton/branches/examples/proton-j/src/main/resources/cproton.py?rev=1630817&r1=1630816&r2=1630817&view=diff ============================================================================== --- qpid/proton/branches/examples/proton-j/src/main/resources/cproton.py (original) +++ qpid/proton/branches/examples/proton-j/src/main/resources/cproton.py Fri Oct 10 12:51:19 2014 @@ -27,6 +27,7 @@ against both the C and Java protocol imp PN_VERSION_MAJOR = 0 PN_VERSION_MINOR = 0 +from cobject import * from cerror import * from ccodec import * from cengine import * Modified: qpid/proton/branches/examples/tests/python/proton_tests/engine.py URL: http://svn.apache.org/viewvc/qpid/proton/branches/examples/tests/python/proton_tests/engine.py?rev=1630817&r1=1630816&r2=1630817&view=diff ============================================================================== --- qpid/proton/branches/examples/tests/python/proton_tests/engine.py (original) +++ qpid/proton/branches/examples/tests/python/proton_tests/engine.py Fri Oct 10 12:51:19 2014 @@ -2233,7 +2233,7 @@ class EventTest(CollectorTest): rdlv.update(Delivery.ACCEPTED) self.pump() event = self.expect(Event.DELIVERY) - assert event.delivery == dlv + assert event.context == dlv class PeerTest(CollectorTest): --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@qpid.apache.org For additional commands, e-mail: commits-h...@qpid.apache.org