Class: ChunkBuffer

Inherits:
Object
  • Object
show all
Defined in:
lib/s3_streamer/client/downstream/chunk_buffer.rb

Instance Method Summary collapse

Constructor Details

#initialize(response, chunks_per_buffer = 10240) ⇒ ChunkBuffer

Returns a new instance of ChunkBuffer.



2
3
4
5
# File 'lib/s3_streamer/client/downstream/chunk_buffer.rb', line 2

def initialize(response, chunks_per_buffer = 10240)
  @response = response
  @chunks_per_buffer = chunks_per_buffer
end

Instance Method Details

#each {|buffer.join| ... } ⇒ Object

Yields:

  • (buffer.join)


7
8
9
10
11
12
13
14
15
16
17
# File 'lib/s3_streamer/client/downstream/chunk_buffer.rb', line 7

def each
  buffer = []
  @response.read_body do |chunk|
    buffer << chunk
    if buffer.size >= @chunks_per_buffer
      yield buffer.join
      buffer = []
    end
  end
  yield buffer.join if buffer.size > 0
end