class Liebre::Actor::RPC::Server::Core
Constants
- OPTS
Attributes
callback_class[R]
context[R]
resources[R]
server[R]
Public Class Methods
new(server, resources, context, callback_class)
click to toggle source
# File lib/liebre/actor/rpc/server/core.rb, line 10 def initialize server, resources, context, callback_class @server = server @resources = resources @context = context @callback_class = callback_class end
Public Instance Methods
clean()
click to toggle source
# File lib/liebre/actor/rpc/server/core.rb, line 46 def clean queue.delete exchange.delete end
failed(meta, error)
click to toggle source
# File lib/liebre/actor/rpc/server/core.rb, line 43 def failed meta, error end
handle(meta, payload)
click to toggle source
# File lib/liebre/actor/rpc/server/core.rb, line 28 def handle meta, payload callback = callback_class.new(server, meta) handler.call(payload, meta, callback) do |error| callback.failed(error) end end
reply(meta, response, opts = {})
click to toggle source
# File lib/liebre/actor/rpc/server/core.rb, line 36 def reply meta, response, opts = {} opts = opts.merge :routing_key => meta.reply_to, :correlation_id => meta.correlation_id exchange.publish(response, opts) end
start()
click to toggle source
# File lib/liebre/actor/rpc/server/core.rb, line 17 def start queue.subscribe(OPTS) do |info, meta, payload| server.handle(meta, payload) end exchange end
stop()
click to toggle source
# File lib/liebre/actor/rpc/server/core.rb, line 24 def stop chan.close end
Private Instance Methods
chan()
click to toggle source
# File lib/liebre/actor/rpc/server/core.rb, line 61 def chan context.chan end
exchange()
click to toggle source
# File lib/liebre/actor/rpc/server/core.rb, line 57 def exchange resources.response_exchange end
handler()
click to toggle source
# File lib/liebre/actor/rpc/server/core.rb, line 65 def handler context.handler end
queue()
click to toggle source
# File lib/liebre/actor/rpc/server/core.rb, line 53 def queue resources.request_queue end