You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by gs...@apache.org on 2014/10/10 14:51:19 UTC
svn commit: r1630817 - in /qpid/proton/branches/examples:
proton-c/bindings/python/ proton-c/include/proton/ proton-c/src/engine/
proton-c/src/events/ proton-c/src/object/ proton-c/src/transport/
proton-j/src/main/java/org/apache/qpid/proton/engine/ pr...
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-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org