Class: Lumberjack::AckingProtocolV1
- Inherits:
-
Object
- Object
- Lumberjack::AckingProtocolV1
- Defined in:
- lib/lumberjack/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.
384 385 386 387 |
# File 'lib/lumberjack/server.rb', line 384 def initialize(window_size) @next_ack = nil @window_size = window_size end |
Instance Method Details
#ack?(sequence) ⇒ Boolean
389 390 391 392 393 394 |
# File 'lib/lumberjack/server.rb', line 389 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
396 397 398 |
# File 'lib/lumberjack/server.rb', line 396 def ack_frame(sequence) ["1A", sequence].pack("A*N") end |