Class: Lumberjack::Beats::Socket
- Inherits:
-
Object
- Object
- Lumberjack::Beats::Socket
- Defined in:
- lib/lumberjack/beats/client.rb
Instance Attribute Summary collapse
-
#host ⇒ Object
readonly
Returns the value of attribute host.
-
#sequence ⇒ Object
readonly
Create a new Lumberjack Socket.
Instance Method Summary collapse
-
#initialize(opts = {}) ⇒ Socket
constructor
A new instance of Socket.
- #write_sync(elements, opts = {}) ⇒ Object
Constructor Details
#initialize(opts = {}) ⇒ Socket
Returns a new instance of Socket.
64 65 66 67 68 69 70 71 72 73 74 75 76 77 |
# File 'lib/lumberjack/beats/client.rb', line 64 def initialize(opts={}) @sequence = 0 @last_ack = 0 @opts = { :port => 0, :address => "127.0.0.1", :ssl_certificate => nil, :ssl => true, :json => false, }.merge(opts) @host = @opts[:address] connection_start(opts) end |
Instance Attribute Details
#host ⇒ Object (readonly)
Returns the value of attribute host.
63 64 65 |
# File 'lib/lumberjack/beats/client.rb', line 63 def host @host end |
#sequence ⇒ Object (readonly)
Create a new Lumberjack Socket.
-
options is a hash. Valid options are:
-
:port - the port to listen on
-
:address - the host/address to bind to
-
:ssl - enable/disable ssl support
-
:ssl_certificate - the path to the ssl cert to use.
If ssl_certificate is not set, a plain tcp connection will be used.
62 63 64 |
# File 'lib/lumberjack/beats/client.rb', line 62 def sequence @sequence end |
Instance Method Details
#write_sync(elements, opts = {}) ⇒ Object
121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 |
# File 'lib/lumberjack/beats/client.rb', line 121 def write_sync(elements, opts={}) = { :json => @opts[:json], }.merge(opts) elements = [elements] if elements.is_a?(Hash) send_window_size(elements.size) encoder = [:json] ? JsonEncoder : FrameEncoder payload = elements.map { |element| encoder.to_frame(element, inc) }.join compress = compress_payload(payload) send_payload(compress) ack(elements.size) end |