Class: Fluent::PluginHelper::Server::CallbackSocket
- Inherits:
-
Object
- Object
- Fluent::PluginHelper::Server::CallbackSocket
show all
- Defined in:
- lib/fluent/plugin_helper/server.rb
Instance Method Summary
collapse
Constructor Details
#initialize(server_type, sock, enabled_events = [], close_socket: true) ⇒ CallbackSocket
Returns a new instance of CallbackSocket.
412
413
414
415
416
417
418
|
# File 'lib/fluent/plugin_helper/server.rb', line 412
def initialize(server_type, sock, enabled_events = [], close_socket: true)
@server_type = server_type
@sock = sock
@peeraddr = nil
@enabled_events = enabled_events
@close_socket = close_socket
end
|
Instance Method Details
#close ⇒ Object
444
445
446
|
# File 'lib/fluent/plugin_helper/server.rb', line 444
def close
@sock.close if @close_socket
end
|
#close_after_write_complete ⇒ Object
440
441
442
|
# File 'lib/fluent/plugin_helper/server.rb', line 440
def close_after_write_complete
@sock.close_after_write_complete = true
end
|
#data(&callback) ⇒ Object
448
449
450
|
# File 'lib/fluent/plugin_helper/server.rb', line 448
def data(&callback)
on(:data, &callback)
end
|
#on(event, &callback) ⇒ Object
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
|
# File 'lib/fluent/plugin_helper/server.rb', line 452
def on(event, &callback)
raise "BUG: this event is disabled for #{@server_type}: #{event}" unless @enabled_events.include?(event)
case event
when :data
@sock.data(&callback)
when :write_complete
cb = ->(){ callback.call(self) }
@sock.on_write_complete(&cb)
when :close
cb = ->(){ callback.call(self) }
@sock.on_close(&cb)
else
raise "BUG: unknown event: #{event}"
end
end
|
#remote_addr ⇒ Object
420
421
422
|
# File 'lib/fluent/plugin_helper/server.rb', line 420
def remote_addr
@peeraddr[3]
end
|
#remote_host ⇒ Object
424
425
426
|
# File 'lib/fluent/plugin_helper/server.rb', line 424
def remote_host
@peeraddr[2]
end
|
#remote_port ⇒ Object
428
429
430
|
# File 'lib/fluent/plugin_helper/server.rb', line 428
def remote_port
@peeraddr[1]
end
|
#send(data, flags = 0) ⇒ Object
432
433
434
|
# File 'lib/fluent/plugin_helper/server.rb', line 432
def send(data, flags = 0)
@sock.send(data, flags)
end
|
#write(data) ⇒ Object
436
437
438
|
# File 'lib/fluent/plugin_helper/server.rb', line 436
def write(data)
raise "not implemented here"
end
|