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/22 16:25:04 UTC
svn commit: r1303831 - in /qpid/proton/trunk/proton-c: cproton.i
src/engine/engine.c
Author: rhs
Date: Thu Mar 22 15:25:04 2012
New Revision: 1303831
URL: http://svn.apache.org/viewvc?rev=1303831&view=rev
Log:
further swigging
Modified:
qpid/proton/trunk/proton-c/cproton.i
qpid/proton/trunk/proton-c/src/engine/engine.c
Modified: qpid/proton/trunk/proton-c/cproton.i
URL: http://svn.apache.org/viewvc/qpid/proton/trunk/proton-c/cproton.i?rev=1303831&r1=1303830&r2=1303831&view=diff
==============================================================================
--- qpid/proton/trunk/proton-c/cproton.i (original)
+++ qpid/proton/trunk/proton-c/cproton.i Thu Mar 22 15:25:04 2012
@@ -11,11 +11,27 @@ typedef signed int ssize_t;
%include <cstring.i>
%cstring_output_withsize(char *OUTPUT, size_t *OUTPUT_SIZE)
+%cstring_output_allocate_size(char **ALLOC_OUTPUT, size_t *ALLOC_SIZE, free(*$1));
-int wrap_pn_output(pn_transport_t *transport, char *OUTPUT, size_t *OUTPUT_SIZE);
+ssize_t pn_send(pn_link_t *transport, char *STRING, size_t LENGTH);
+%ignore pn_send;
-%rename(pn_output) wrap_pn_output;
+%rename(pn_recv) wrap_pn_recv;
+%inline %{
+ int wrap_pn_recv(pn_link_t *link, char *OUTPUT, size_t *OUTPUT_SIZE) {
+ ssize_t sz = pn_recv(link, OUTPUT, *OUTPUT_SIZE);
+ if (sz >= 0) {
+ *OUTPUT_SIZE = sz;
+ return 0;
+ } else {
+ *OUTPUT_SIZE = 0;
+ return sz;
+ }
+ }
+%}
+%ignore pn_recv;
+%rename(pn_output) wrap_pn_output;
%inline %{
int wrap_pn_output(pn_transport_t *transport, char *OUTPUT, size_t *OUTPUT_SIZE) {
ssize_t sz = pn_output(transport, OUTPUT, *OUTPUT_SIZE);
@@ -28,25 +44,17 @@ int wrap_pn_output(pn_transport_t *trans
}
}
%}
-
%ignore pn_output;
-pn_delivery_t *wrap_pn_delivery(pn_link_t *link, char *STRING, size_t LENGTH);
-
%rename(pn_delivery) wrap_pn_delivery;
-
%inline %{
pn_delivery_t *wrap_pn_delivery(pn_link_t *link, char *STRING, size_t LENGTH) {
return pn_delivery(link, pn_dtag(STRING, LENGTH));
}
%}
-
%ignore pn_delivery;
-%cstring_output_allocate_size(char **ALLOC_OUTPUT, size_t *ALLOC_SIZE, free(*$1));
-
%rename(pn_delivery_tag) wrap_pn_delivery_tag;
-
%inline %{
void wrap_pn_delivery_tag(pn_delivery_t *delivery, char **ALLOC_OUTPUT, size_t *ALLOC_SIZE) {
pn_delivery_tag_t tag = pn_delivery_tag(delivery);
@@ -55,7 +63,6 @@ pn_delivery_t *wrap_pn_delivery(pn_link_
memcpy(*ALLOC_OUTPUT, tag.bytes, tag.size);
}
%}
-
%ignore pn_delivery_tag;
/* Parse the header file to generate wrappers */
Modified: qpid/proton/trunk/proton-c/src/engine/engine.c
URL: http://svn.apache.org/viewvc/qpid/proton/trunk/proton-c/src/engine/engine.c?rev=1303831&r1=1303830&r2=1303831&view=diff
==============================================================================
--- qpid/proton/trunk/proton-c/src/engine/engine.c (original)
+++ qpid/proton/trunk/proton-c/src/engine/engine.c Thu Mar 22 15:25:04 2012
@@ -1601,13 +1601,13 @@ void pn_disposition(pn_delivery_t *deliv
bool pn_writable(pn_delivery_t *delivery)
{
pn_link_t *link = delivery->link;
- return link->endpoint.type == SENDER && pn_is_current(delivery) && link->credit > 0;
+ return pn_is_sender(link) && pn_is_current(delivery) && link->credit > 0;
}
bool pn_readable(pn_delivery_t *delivery)
{
pn_link_t *link = delivery->link;
- return link->endpoint.type == RECEIVER && pn_is_current(delivery);
+ return pn_is_receiver(link) && pn_is_current(delivery);
}
size_t pn_pending(pn_delivery_t *delivery)
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org