class Wamp::Client::Manager::Subscription

Public Instance Methods

event(message) click to toggle source

Processes and incoming event

@param message [Message::Event] - The incoming event message

# File lib/wamp/client/manager/subscription.rb, line 29
def event(message)

  # Get the arguments
  subscription_id = message.subscribed_subscription
  args = message.publish_arguments || []
  kwargs = message.publish_argumentskw || {}

  # If we have a subscription, execute it
  subscription = self.objects[subscription_id]
  if subscription

    # Create the detials
    details = message.details || {}
    details[:publication] = message.published_publication
    details[:topic] = subscription.topic
    details[:session] = self.session

    # Call the handler
    handler = subscription.handler
    handler.call(args, kwargs, details) if handler
  end
end