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