class Citrus::Common::Remote::Backend::MsgRemote

MsgRemote

Public Class Methods

new(app) click to toggle source

Create a new remote message service

@param [Object] app

# File lib/citrus/common/remote/backend/msg_remote.rb, line 25
def initialize app
  @app = app
end

Public Instance Methods

forwardMessage(msg, session) { |exception 'server component not enabled'| ... } click to toggle source

Forward message from frontend server

@param [Hash] msg @param [Object] session

# File lib/citrus/common/remote/backend/msg_remote.rb, line 33
def forwardMessage msg, session, &block
  server = @app.components['server']
  session_service = @app.components['backend_session'].service

  unless server
    block_given? and yield Exception.new 'server component not enabled'
    return
  end

  unless session_service
    block_given? and yield Exception.new 'backend session component not enabled'
    return
  end

  backend_session = session_service.create session

  server.handle(msg, backend_session) { |err, resp, args|
    block_given? and yield err, resp, args
  }
end