Sha256: 752adae34c0d0d306e807bf1945751937d635d53e394c8ebaf95066bb9e6a946

Contents?: true

Size: 591 Bytes

Versions: 1

Compression:

Stored size: 591 Bytes

Contents

# frozen_string_literal: true

module WaterDrop
  # Raw Kafka producers connection pool for WaterDrop messages delivery
  module Pool
    extend SingleForwardable
    # Delegate directly to pool
    def_delegators :pool, :with

    class << self
      # @return [::ConnectionPool] connection pool instance that we can then use
      def pool
        @pool ||= ConnectionPool.new(
          size: ::WaterDrop.config.connection_pool.size,
          timeout: ::WaterDrop.config.connection_pool.timeout
        ) do
          WaterDrop::ProducerProxy.new
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
waterdrop-0.4.0 lib/water_drop/pool.rb