Sha256: 2e639675c97afb6596c7be86b24f821b16c70a307cf2935a0d2f3d6682629d39

Contents?: true

Size: 848 Bytes

Versions: 1

Compression:

Stored size: 848 Bytes

Contents

require 'aws/kclrb'

module Kcl
  module RecordProcessor
    def init _shard_id; end

    def process_records _records, _checkpointer; end

    def shutdown _checkpointer, _reason; end

    def run
      processor = RecordProcessorAdapter.new self

      Aws::KCLrb::KCLProcess.new(processor).run
    end

    class RecordProcessorAdapter < Aws::KCLrb::RecordProcessorBase
      def initialize record_processor
        @record_processor = record_processor
      end

      def init_processor shard_id
        record_processor.init shard_id
      end

      def shutdown checkpointer, reason
        record_processor.shutdown checkpointer, reason
      end

      def process_records records, checkpointer
        record_processor.process_records records, checkpointer
      end

      private

      attr_reader :record_processor
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
amazon-kinesis-client-ruby-1.0.1 lib/kcl/record_processor.rb