Class: Droonga::FluentMessageReceiver

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

Defined Under Namespace

Classes: Client, HeartbeatReceiver

Instance Method Summary collapse

Constructor Details

#initialize(loop, options = {}, &on_message) ⇒ FluentMessageReceiver

Returns a new instance of FluentMessageReceiver.



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

def initialize(loop, options={}, &on_message)
  @loop = loop
  @listen_fd = options[:listen_fd]
  @heartbeat_fd = options[:heartbeat_fd]
  @server = nil
  @clients = []
  @on_message = on_message
end

Instance Method Details

#shutdown_clientsObject



58
59
60
61
62
# File 'lib/droonga/fluent_message_receiver.rb', line 58

def shutdown_clients
  @clients.dup.each do |client|
    client.close
  end
end

#startObject



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

def start
  logger.trace("start: start")
  start_heartbeat_receiver
  start_server
  logger.trace("start: done")
end

#stop_gracefullyObject



43
44
45
46
47
48
49
# File 'lib/droonga/fluent_message_receiver.rb', line 43

def stop_gracefully
  logger.trace("stop_gracefully: start")
  shutdown_heartbeat_receiver
  logger.trace("stop_gracefully: middle")
  shutdown_server
  logger.trace("stop_gracefully: done")
end

#stop_immediatelyObject



51
52
53
54
55
56
# File 'lib/droonga/fluent_message_receiver.rb', line 51

def stop_immediately
  logger.trace("stop_immediately: start")
  stop_gracefully
  shutdown_clients
  logger.trace("stop_immediately: done")
end