Class: BlobReader

Inherits:
LinearReader show all
Defined in:
lib/logstash/inputs/azureblob.rb

Overview

class LogStash::Inputs::LogstashInputAzureblob

Instance Method Summary collapse

Constructor Details

#initialize(logger, azure_blob, container, blob_name, chunk_size, blob_start_index, blob_end_index) ⇒ BlobReader

Returns a new instance of BlobReader.



466
467
468
469
470
471
472
473
474
# File 'lib/logstash/inputs/azureblob.rb', line 466

def initialize(logger, azure_blob, container, blob_name, chunk_size, blob_start_index, blob_end_index)
  @logger = logger
  @azure_blob = azure_blob
  @container = container
  @blob_name = blob_name
  @blob_start_index = blob_start_index
  @blob_end_index = blob_end_index
  @chunk_size = chunk_size
end

Instance Method Details

#readObject



476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
# File 'lib/logstash/inputs/azureblob.rb', line 476

def read
  if @blob_end_index < @blob_start_index
    return nil, false
  end

  are_more_bytes_available = false

  if @blob_end_index >= @blob_start_index + @chunk_size
    end_index = @blob_start_index + @chunk_size - 1
    are_more_bytes_available = true
  else
    end_index = @blob_end_index
  end
  content = read_from_blob(@blob_start_index, end_index)

  @blob_start_index = end_index + 1
  return content, are_more_bytes_available
end