Class: Droonga::FluentMessageReceiver
- Inherits:
-
Object
- Object
- Droonga::FluentMessageReceiver
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_clients ⇒ Object
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
|
#start ⇒ Object
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_gracefully ⇒ Object
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
|
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
|