Class: Droonga::HandlerRunner

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

Instance Method Summary collapse

Constructor Details

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

Returns a new instance of HandlerRunner.



28
29
30
31
32
33
34
35
# File 'lib/droonga/handler_runner.rb', line 28

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

Instance Method Details

#prefer_synchronous?(type) ⇒ Boolean

Returns:

  • (Boolean)


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

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

#process(message) ⇒ Object



62
63
64
65
66
67
68
69
70
71
72
73
# File 'lib/droonga/handler_runner.rb', line 62

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

#processable?(type) ⇒ Boolean

Returns:

  • (Boolean)


58
59
60
# File 'lib/droonga/handler_runner.rb', line 58

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

#shutdownObject



43
44
45
46
47
48
49
50
51
52
# File 'lib/droonga/handler_runner.rb', line 43

def shutdown
  logger.trace("shutdown: start")
  @forwarder.shutdown
  if @database
    @database.close
    @context.close
    @database = @context = nil
  end
  logger.trace("shutdown: done")
end

#startObject



37
38
39
40
41
# File 'lib/droonga/handler_runner.rb', line 37

def start
  logger.trace("start: start")
  @forwarder.start
  logger.trace("start: done")
end