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.
542 543 544 545 |
# File 'lib/lumberjack/beats/server.rb', line 542 def initialize(window_size) @next_ack = nil @window_size = window_size end |
Instance Method Details
#ack?(sequence) ⇒ Boolean
547 548 549 550 551 552 |
# File 'lib/lumberjack/beats/server.rb', line 547 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
554 555 556 |
# File 'lib/lumberjack/beats/server.rb', line 554 def ack_frame(sequence) ["1A", sequence].pack("A*N") end |