Class: Lumberjack::Beats::AckingProtocolV1
- Inherits:
-
Object
- Object
- Lumberjack::Beats::AckingProtocolV1
- Defined in:
- lib/lumberjack/beats/server.rb
Overview
class Connection
Instance Method Summary collapse
- #ack?(sequence) ⇒ Boolean
- #ack_frame(sequence) ⇒ Object
-
#initialize(window_size) ⇒ AckingProtocolV1
constructor
A new instance of AckingProtocolV1.
Constructor Details
#initialize(window_size) ⇒ AckingProtocolV1
Returns a new instance of AckingProtocolV1.
418 419 420 421 |
# File 'lib/lumberjack/beats/server.rb', line 418 def initialize(window_size) @next_ack = nil @window_size = window_size end |
Instance Method Details
#ack?(sequence) ⇒ Boolean
423 424 425 426 427 428 |
# File 'lib/lumberjack/beats/server.rb', line 423 def ack?(sequence) # The first encoded event will contain the sequence number # this is needed to know when we should ack. @next_ack = compute_next_ack(sequence) if @next_ack.nil? sequence == @next_ack end |
#ack_frame(sequence) ⇒ Object
430 431 432 |
# File 'lib/lumberjack/beats/server.rb', line 430 def ack_frame(sequence) ["1A", sequence].pack("A*N") end |