Class: Droonga::HandlerRunner

Inherits:
Object
  • Object
show all
Defined in:
lib/droonga/handler_runner.rb

Instance Method Summary collapse

Constructor Details

#initialize(loop, options = {}) ⇒ HandlerRunner

Returns a new instance of HandlerRunner.



25
26
27
28
29
30
31
# File 'lib/droonga/handler_runner.rb', line 25

def initialize(loop, options={})
  @loop = loop
  @options = options
  @name = options[:name]
  @database_name = options[:database]
  prepare
end

Instance Method Details

#prefer_synchronous?(command) ⇒ Boolean

Returns:

  • (Boolean)


50
51
52
# File 'lib/droonga/handler_runner.rb', line 50

def prefer_synchronous?(command)
  find_handler_class(command).action.synchronous?
end

#process(message) ⇒ Object



58
59
60
61
62
63
64
65
66
67
68
69
# File 'lib/droonga/handler_runner.rb', line 58

def process(message)
  $log.trace("#{log_tag}: process: start")
  command = message["type"]
  handler_class = find_handler_class(command)
  if handler_class.nil?
    $log.trace("#{log_tag}: process: done: no handler: <#{command}>")
    return
  end
  process_command(handler_class, command, message)
  $log.trace("#{log_tag}: process: done: <#{command}>",
             :handler => handler_class)
end

#processable?(command) ⇒ Boolean

Returns:

  • (Boolean)


54
55
56
# File 'lib/droonga/handler_runner.rb', line 54

def processable?(command)
  not find_handler_class(command).nil?
end

#shutdownObject



39
40
41
42
43
44
45
46
47
48
# File 'lib/droonga/handler_runner.rb', line 39

def shutdown
  $log.trace("#{log_tag}: shutdown: start")
  @forwarder.shutdown
  if @database
    @database.close
    @context.close
    @database = @context = nil
  end
  $log.trace("#{log_tag}: shutdown: done")
end

#startObject



33
34
35
36
37
# File 'lib/droonga/handler_runner.rb', line 33

def start
  $log.trace("#{log_tag}: start: start")
  @forwarder.start
  $log.trace("#{log_tag}: start: done")
end