Sha256: b5a935c954991f5edb3454939a543ce07df93f2178a361af2d3679099d9977f7

Contents?: true

Size: 961 Bytes

Versions: 10

Compression:

Stored size: 961 Bytes

Contents

module SplitIoClient
  module Cache
    module Repositories
      module Events
        class MemoryRepository < EventsRepository
          EVENTS_SLICE = 100

          def initialize(adapter)
            @adapter = adapter
          end

          def add(key, traffic_type, event_type, time, value)
            @adapter.add_to_queue(m: metadata, e: event(key, traffic_type, event_type, time, value))
          rescue ThreadError # queue is full
            if SplitIoClient.configuration.debug_enabled
              SplitIoClient.configuration.logger.warn("Dropping events. Current size is #{SplitIoClient.configuration.events_queue_size}. " \
                                  "Consider increasing events_queue_size")
            end
            @adapter.clear
          end

          def batch
            @adapter.get_batch(EVENTS_SLICE)
          end

          def clear
            @adapter.clear
          end
        end
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
splitclient-rb-6.3.0-java lib/splitclient-rb/cache/repositories/events/memory_repository.rb
splitclient-rb-6.3.0 lib/splitclient-rb/cache/repositories/events/memory_repository.rb
splitclient-rb-6.3.0.pre.rc1-java lib/splitclient-rb/cache/repositories/events/memory_repository.rb
splitclient-rb-6.3.0.pre.rc1 lib/splitclient-rb/cache/repositories/events/memory_repository.rb
splitclient-rb-6.2.0-java lib/splitclient-rb/cache/repositories/events/memory_repository.rb
splitclient-rb-6.2.0 lib/splitclient-rb/cache/repositories/events/memory_repository.rb
splitclient-rb-6.2.0.pre.rc2-java lib/splitclient-rb/cache/repositories/events/memory_repository.rb
splitclient-rb-6.2.0.pre.rc2 lib/splitclient-rb/cache/repositories/events/memory_repository.rb
splitclient-rb-6.2.0.pre.rc1-java lib/splitclient-rb/cache/repositories/events/memory_repository.rb
splitclient-rb-6.2.0.pre.rc1 lib/splitclient-rb/cache/repositories/events/memory_repository.rb