Class: SplitIoClient::Cache::Repositories::Events::MemoryRepository

Inherits:
SplitIoClient::Cache::Repositories::EventsRepository show all
Defined in:
lib/splitclient-rb/cache/repositories/events/memory_repository.rb

Constant Summary collapse

EVENTS_SLICE =
100

Instance Method Summary collapse

Methods inherited from SplitIoClient::Cache::Repository

#set_string, #string

Constructor Details

#initialize(adapter) ⇒ MemoryRepository

Returns a new instance of MemoryRepository.



8
9
10
# File 'lib/splitclient-rb/cache/repositories/events/memory_repository.rb', line 8

def initialize(adapter)
  @adapter = adapter
end

Instance Method Details

#add(key, traffic_type, event_type, time, value) ⇒ Object



12
13
14
15
16
17
18
19
20
# File 'lib/splitclient-rb/cache/repositories/events/memory_repository.rb', line 12

def add(key, traffic_type, event_type, time, value)
  @adapter.add_to_queue(m: , 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

#clearObject



22
23
24
# File 'lib/splitclient-rb/cache/repositories/events/memory_repository.rb', line 22

def clear
  @adapter.clear
end