summaryrefslogtreecommitdiff
path: root/codegen.py
diff options
context:
space:
mode:
authorBen Hood <0x6e6562@gmail.com>2009-08-26 14:20:01 +0100
committerBen Hood <0x6e6562@gmail.com>2009-08-26 14:20:01 +0100
commitb34e177a440396b6a3270c482c09a36861636eca (patch)
tree654aef4927925d67e7fe00b701ef903bbb6eac91 /codegen.py
parentae00b843da3e5bacca3d3bcfad7ac5e96871a408 (diff)
parent341ddb9220dc3f9185554f056bb681e9a52a109f (diff)
downloadrabbitmq-server-git-b34e177a440396b6a3270c482c09a36861636eca.tar.gz
Merged bug21493 into default
Diffstat (limited to 'codegen.py')
-rw-r--r--codegen.py11
1 files changed, 11 insertions, 0 deletions
diff --git a/codegen.py b/codegen.py
index 84741ea28d..533192c507 100644
--- a/codegen.py
+++ b/codegen.py
@@ -117,6 +117,13 @@ def genErl(spec):
def genMethodHasContent(m):
print "method_has_content(%s) -> %s;" % (m.erlangName(), str(m.hasContent).lower())
+
+ def genMethodIsSynchronous(m):
+ hasNoWait = "nowait" in fieldNameList(m.arguments)
+ if m.isSynchronous and hasNoWait:
+ print "is_method_synchronous(#%s{nowait = NoWait}) -> not(NoWait);" % (m.erlangName())
+ else:
+ print "is_method_synchronous(#%s{}) -> %s;" % (m.erlangName(), str(m.isSynchronous).lower())
def genMethodFieldTypes(m):
"""Not currently used - may be useful in future?"""
@@ -246,6 +253,7 @@ def genErl(spec):
-export([method_id/1]).
-export([method_has_content/1]).
+-export([is_method_synchronous/1]).
-export([method_fieldnames/1]).
-export([decode_method_fields/2]).
-export([decode_properties/2]).
@@ -266,6 +274,9 @@ bitvalue(undefined) -> 0.
for m in methods: genMethodHasContent(m)
print "method_has_content(Name) -> exit({unknown_method_name, Name})."
+ for m in methods: genMethodIsSynchronous(m)
+ print "is_method_synchronous(Name) -> exit({unknown_method_name, Name})."
+
for m in methods: genMethodFieldNames(m)
print "method_fieldnames(Name) -> exit({unknown_method_name, Name})."