summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Sackman <matthew@lshift.net>2009-08-26 16:34:19 +0100
committerMatthew Sackman <matthew@lshift.net>2009-08-26 16:34:19 +0100
commit769041b322752edf1a7ae3a81031e4b956603d18 (patch)
tree78d9244528bd76c4dc322c60f2327a1240be828c
parentbd31855aed920230c6da5dc91c2843aaf33f4502 (diff)
parent983cf8be938652afaebfe48c69d7cdb7f523d7f4 (diff)
downloadrabbitmq-server-bug19356.tar.gz
merging in from defaultbug19356
-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})."