class Wamp::Client::Message::Invocation
Invocation
Actual invocation of an endpoint sent by Dealer to a Callee. Formats:
[INVOCATION, Request|id, REGISTERED.Registration|id, Details|dict] [INVOCATION, Request|id, REGISTERED.Registration|id, Details|dict, CALL.Arguments|list] [INVOCATION, Request|id, REGISTERED.Registration|id, Details|dict, CALL.Arguments|list, CALL.ArgumentsKw|dict]
Attributes
call_arguments[RW]
call_argumentskw[RW]
details[RW]
registered_registration[RW]
request[RW]
Public Class Methods
new(request, registered_registration, details, call_arguments=nil, call_argumentskw=nil)
click to toggle source
# File lib/wamp/client/message.rb, line 971 def initialize(request, registered_registration, details, call_arguments=nil, call_argumentskw=nil) self.class.check_id('request', request) self.class.check_id('registered_registration', registered_registration) self.class.check_dict('details', details) self.class.check_list('call_arguments', call_arguments, true) self.class.check_dict('call_argumentskw', call_argumentskw, true) self.request = request self.registered_registration = registered_registration self.details = details self.call_arguments = call_arguments self.call_argumentskw = call_argumentskw end
parse(params)
click to toggle source
# File lib/wamp/client/message.rb, line 991 def self.parse(params) self.check_gte('params list', 4, params.count) self.check_equal('message type', self.type, params[0]) params.shift self.new(*params) end
type()
click to toggle source
# File lib/wamp/client/message.rb, line 987 def self.type Types::INVOCATION end
Public Instance Methods
payload()
click to toggle source
# File lib/wamp/client/message.rb, line 1001 def payload self.call_arguments ||= [] self.call_argumentskw ||= {} payload = [self.class.type] payload.push(self.request) payload.push(self.registered_registration) payload.push(self.details) return payload if (self.call_arguments.empty? and self.call_argumentskw.empty?) payload.push(self.call_arguments) return payload if (self.call_argumentskw.empty?) payload.push(self.call_argumentskw) payload end
to_s()
click to toggle source
# File lib/wamp/client/message.rb, line 1019 def to_s 'INVOCATION > ' + self.payload.to_s end