Class: Droonga::FluentMessageSender

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

Instance Method Summary collapse

Constructor Details

#initialize(loop, host, port) ⇒ FluentMessageSender

Returns a new instance of FluentMessageSender.



27
28
29
30
31
# File 'lib/droonga/fluent_message_sender.rb', line 27

def initialize(loop, host, port)
  @loop = loop
  @host = host
  @port = port
end

Instance Method Details

#send(tag, data) ⇒ Object



45
46
47
48
49
50
51
52
53
# File 'lib/droonga/fluent_message_sender.rb', line 45

def send(tag, data)
  logger.trace("send: start")
  connect if @socket.closed?
  fluent_message = [tag, Time.now.to_i, data]
  packed_fluent_message = MessagePackPacker.pack(fluent_message)
  @socket.write(packed_fluent_message)
  @loop.break_current_loop
  logger.trace("send: done")
end

#shutdownObject



39
40
41
42
43
# File 'lib/droonga/fluent_message_sender.rb', line 39

def shutdown
  logger.trace("shutdown: start")
  @socket.close unless @socket.closed?
  logger.trace("shutdown: done")
end

#startObject



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

def start
  logger.trace("start: start")
  connect
  logger.trace("start: done")
end