Class: Lumberjack::AckingProtocolV1

Inherits:
Object
  • Object
show all
Defined in:
lib/lumberjack/server.rb

Overview

class Connection

Instance Method Summary collapse

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

Returns:

  • (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