def marshal(self):
    '\n      Implements :func:`autobahn.wamp.interfaces.IMessage.marshal`\n      '
    options = {}
    if (self.acknowledge is not None):
        options[u'acknowledge'] = self.acknowledge
    if (self.excludeMe is not None):
        options[u'exclude_me'] = self.excludeMe
    if (self.exclude is not None):
        options[u'exclude'] = self.exclude
    if (self.eligible is not None):
        options[u'eligible'] = self.eligible
    if (self.discloseMe is not None):
        options[u'disclose_me'] = self.discloseMe
    if self.kwargs:
        return [Publish.MESSAGE_TYPE, self.request, options, self.topic, self.args, self.kwargs]
    elif self.args:
        return [Publish.MESSAGE_TYPE, self.request, options, self.topic, self.args]
    else:
        return [Publish.MESSAGE_TYPE, self.request, options, self.topic]
Implements :func:`autobahn.wamp.interfaces.IMessage.marshal`
def marshal(self):
    '\n      \n      '
    options = {}
    if (self.acknowledge is not None):
        options[u'acknowledge'] = self.acknowledge
    if (self.excludeMe is not None):
        options[u'exclude_me'] = self.excludeMe
    if (self.exclude is not None):
        options[u'exclude'] = self.exclude
    if (self.eligible is not None):
        options[u'eligible'] = self.eligible
    if (self.discloseMe is not None):
        options[u'disclose_me'] = self.discloseMe
    if self.kwargs:
        return [Publish.MESSAGE_TYPE, self.request, options, self.topic, self.args, self.kwargs]
    elif self.args:
        return [Publish.MESSAGE_TYPE, self.request, options, self.topic, self.args]
    else:
        return [Publish.MESSAGE_TYPE, self.request, options, self.topic]