You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by rh...@apache.org on 2012/03/20 21:17:19 UTC
svn commit: r1303129 - in /qpid/proton/proton-c: Makefile
include/proton/engine.h src/ src/driver.c src/engine/engine.c src/proton.i
Author: rhs
Date: Tue Mar 20 20:17:18 2012
New Revision: 1303129
URL: http://svn.apache.org/viewvc?rev=1303129&view=rev
Log:
added python swig module; open the transport
Added:
qpid/proton/proton-c/src/proton.i
Modified:
qpid/proton/proton-c/Makefile
qpid/proton/proton-c/include/proton/engine.h
qpid/proton/proton-c/src/ (props changed)
qpid/proton/proton-c/src/driver.c
qpid/proton/proton-c/src/engine/engine.c
Modified: qpid/proton/proton-c/Makefile
URL: http://svn.apache.org/viewvc/qpid/proton/proton-c/Makefile?rev=1303129&r1=1303128&r2=1303129&view=diff
==============================================================================
--- qpid/proton/proton-c/Makefile (original)
+++ qpid/proton/proton-c/Makefile Tue Mar 20 20:17:18 2012
@@ -31,7 +31,10 @@ HDRS := ${UTIL_HDR} ${VALUE_HDR} \
PROGRAMS := src/proton
LIBRARY := src/libqpidproton.so
-all: ${PROGRAMS} ${LIBRARY}
+MODULE := src/proton.py
+SWIG_INT := src/proton.i
+
+all: ${PROGRAMS} ${LIBRARY} ${MODULE}
# pull in dependency info for *existing* .o files
-include ${DEPS}
@@ -41,6 +44,11 @@ ${PROGRAMS}: ${OBJS}
${LIBRARY}: ${OBJS}
$(CC) $(CCFLAGS) -shared -o $@ $^
+${MODULE}: ${SWIG_INT} ${HDRS} ${LIBRARY}
+ swig -python -Iinclude ${SWIG_INT}
+ $(CC) $(CCFLAGS) -fPIC -Iinclude -I/usr/include/python2.7 -Lsrc \
+ -lqpidproton -shared -o src/_proton.so src/proton_wrap.c
+
${OBJS}: ${HDRS}
${OBJS}: %.o: %.c
gcc -c -MMD -MP $(CFLAGS) $*.c -o $*.o
@@ -52,5 +60,6 @@ ${OBJS}: %.o: %.c
PYTHONPATH=${PYTHONPATH} ${PYTHON} $< > $@
clean:
- rm -f ${PROGRAMS} ${LIBRARY} ${OBJS} ${DEPS} src/protocol.c \
- src/protocol.h src/codec/encodings.h src/*.pyc
+ rm -f ${PROGRAMS} ${LIBRARY} ${MODULE} ${OBJS} ${DEPS} src/protocol.c \
+ src/protocol.h src/codec/encodings.h src/*.pyc \
+ src/proton_wrap.c src/_proton.so
Modified: qpid/proton/proton-c/include/proton/engine.h
URL: http://svn.apache.org/viewvc/qpid/proton/proton-c/include/proton/engine.h?rev=1303129&r1=1303128&r2=1303129&view=diff
==============================================================================
--- qpid/proton/proton-c/include/proton/engine.h (original)
+++ qpid/proton/proton-c/include/proton/engine.h Tue Mar 20 20:17:18 2012
@@ -68,7 +68,6 @@ pn_delivery_t *pn_work_next(pn_delivery_
pn_session_t *pn_session(pn_connection_t *connection);
pn_transport_t *pn_transport(pn_connection_t *connection);
-void pn_endpoint_mask(pn_connection_t *connection, pn_endpoint_state_t local, pn_endpoint_state_t remote);
pn_endpoint_t *pn_endpoint_head(pn_connection_t *connection,
pn_endpoint_state_t local,
pn_endpoint_state_t remote);
@@ -102,9 +101,9 @@ pn_delivery_t *pn_unsettled_head(pn_link
pn_delivery_t *pn_unsettled_next(pn_delivery_t *delivery);
// sender
-void pn_offer(pn_sender_t *sender, int credits);
+//void pn_offer(pn_sender_t *sender, int credits);
ssize_t pn_send(pn_sender_t *sender, const char *bytes, size_t n);
-void pn_abort(pn_sender_t *sender);
+//void pn_abort(pn_sender_t *sender);
// receiver
#define PN_EOM (-1)
Propchange: qpid/proton/proton-c/src/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Tue Mar 20 20:17:18 2012
@@ -1,3 +1,5 @@
proton
protocol.h
*.d
+proton.py
+proton_wrap.c
Modified: qpid/proton/proton-c/src/driver.c
URL: http://svn.apache.org/viewvc/qpid/proton/proton-c/src/driver.c?rev=1303129&r1=1303128&r2=1303129&view=diff
==============================================================================
--- qpid/proton/proton-c/src/driver.c (original)
+++ qpid/proton/proton-c/src/driver.c Tue Mar 20 20:17:18 2012
@@ -322,6 +322,7 @@ static ssize_t pn_selectable_write_amqp_
fprintf(stderr, " -> AMQP 1.0\n");
memmove(pn_selectable_output(sel), "AMQP\x00\x01\x00\x00", 8);
sel->process_output = pn_selectable_write_amqp;
+ pn_open((pn_endpoint_t *) sel->transport);
return 8;
}
Modified: qpid/proton/proton-c/src/engine/engine.c
URL: http://svn.apache.org/viewvc/qpid/proton/proton-c/src/engine/engine.c?rev=1303129&r1=1303128&r2=1303129&view=diff
==============================================================================
--- qpid/proton/proton-c/src/engine/engine.c (original)
+++ qpid/proton/proton-c/src/engine/engine.c Tue Mar 20 20:17:18 2012
@@ -644,6 +644,8 @@ void pn_map_channel(pn_transport_t *tran
pn_transport_t *pn_transport(pn_connection_t *conn)
{
+ if (!conn) return NULL;
+
if (conn->transport) {
return NULL;
} else {
@@ -774,6 +776,16 @@ pn_delivery_t *pn_delivery(pn_link_t *li
return delivery;
}
+pn_delivery_t *pn_unsettled_head(pn_link_t *link)
+{
+ return link->head;
+}
+
+pn_delivery_t *pn_unsettled_next(pn_delivery_t *delivery)
+{
+ return delivery->link_next;
+}
+
bool pn_is_current(pn_delivery_t *delivery)
{
pn_link_t *link = delivery->link;
@@ -1093,6 +1105,10 @@ void pn_do_close(pn_dispatcher_t *disp)
ssize_t pn_input(pn_transport_t *transport, char *bytes, size_t available)
{
+ if (transport->endpoint.local_state == UNINIT) {
+ return 0;
+ }
+
if (transport->endpoint.local_state == CLOSED) {
return PN_EOS;
}
@@ -1414,7 +1430,9 @@ void pn_process(pn_transport_t *transpor
ssize_t pn_output(pn_transport_t *transport, char *bytes, size_t size)
{
- pn_process(transport);
+ if (transport->endpoint.local_state != UNINIT) {
+ pn_process(transport);
+ }
if (!transport->disp->available && transport->endpoint.local_state == CLOSED) {
return PN_EOS;
Added: qpid/proton/proton-c/src/proton.i
URL: http://svn.apache.org/viewvc/qpid/proton/proton-c/src/proton.i?rev=1303129&view=auto
==============================================================================
--- qpid/proton/proton-c/src/proton.i (added)
+++ qpid/proton/proton-c/src/proton.i Tue Mar 20 20:17:18 2012
@@ -0,0 +1,8 @@
+%module proton
+%{
+/* Includes the header in the wrapper code */
+#include <proton/engine.h>
+%}
+
+/* Parse the header file to generate wrappers */
+%include "proton/engine.h"
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org