summaryrefslogtreecommitdiff
path: root/codegen.py
diff options
context:
space:
mode:
authorPaul Jones <paulj@lshift.net>2009-08-28 15:40:18 +0100
committerPaul Jones <paulj@lshift.net>2009-08-28 15:40:18 +0100
commite664ae5208de72637485e2547caa761e245f53a3 (patch)
tree502f58faaf5d681fb8287bd659791b0e174f4e45 /codegen.py
parentbeaaf30dc12ae60d1a7acf9c9a47f3367b260549 (diff)
parente3a94b0accf234dcaae542ff13054e8f0d8b95bb (diff)
downloadrabbitmq-server-bug17880.tar.gz
Merged default into bug17880bug17880
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 84741ea2..533192c5 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})."