def marshal(self):
    '\n      Implements :func:`autobahn.wamp.interfaces.IMessage.marshal`\n      '
    options = {}
    if (self.timeout is not None):
        options[u'timeout'] = self.timeout
    if (self.receive_progress is not None):
        options[u'receive_progress'] = self.receive_progress
    if (self.discloseMe is not None):
        options[u'disclose_me'] = self.discloseMe
    if self.kwargs:
        return [Call.MESSAGE_TYPE, self.request, options, self.procedure, self.args, self.kwargs]
    elif self.args:
        return [Call.MESSAGE_TYPE, self.request, options, self.procedure, self.args]
    else:
        return [Call.MESSAGE_TYPE, self.request, options, self.procedure]
Implements :func:`autobahn.wamp.interfaces.IMessage.marshal`
def marshal(self):
    '\n      \n      '
    options = {}
    if (self.timeout is not None):
        options[u'timeout'] = self.timeout
    if (self.receive_progress is not None):
        options[u'receive_progress'] = self.receive_progress
    if (self.discloseMe is not None):
        options[u'disclose_me'] = self.discloseMe
    if self.kwargs:
        return [Call.MESSAGE_TYPE, self.request, options, self.procedure, self.args, self.kwargs]
    elif self.args:
        return [Call.MESSAGE_TYPE, self.request, options, self.procedure, self.args]
    else:
        return [Call.MESSAGE_TYPE, self.request, options, self.procedure]