splitclient-rb 3.1.0.pre.rc10 → 3.1.0.pre.rc11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGES.txt +1 -0
- data/lib/cache/adapters/memory_adapters/queue_adapter.rb +31 -0
- data/lib/cache/repositories/metrics/redis_repository.rb +1 -1
- data/lib/splitclient-rb.rb +1 -0
- data/lib/splitclient-rb/split_config.rb +1 -1
- data/lib/splitclient-rb/version.rb +1 -1
- metadata +2 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 02331c7576d5207396d36d2f35da18b3a68f0216
|
4
|
+
data.tar.gz: e7b45fedc47e7b79ab31005f0c695c3723f52479
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9949de92f9ffa311d873ebb6e2ed18ddcf402ca55333a67739438bed1bde4d4aa8c3934d62000e75f0570964e9281c1b7715da7e2d419c99e65e56f323d58447
|
7
|
+
data.tar.gz: b1a2bad851319e62fe343558b99252deb967b43ea60631610f7cdc943d8bccd6298dbfc7cbef4c872bb1ebf16cf316c1e05ea8a7f3be306af9ab4c091490e033
|
data/CHANGES.txt
CHANGED
@@ -0,0 +1,31 @@
|
|
1
|
+
module SplitIoClient
|
2
|
+
module Cache
|
3
|
+
module Adapters
|
4
|
+
module MemoryAdapters
|
5
|
+
# Memory adapter implementation, which stores everything inside queue
|
6
|
+
class QueueAdapter
|
7
|
+
def initialize(size)
|
8
|
+
@size = size
|
9
|
+
@queue = Queue.new
|
10
|
+
end
|
11
|
+
|
12
|
+
# Adds data to queue in non-blocking mode
|
13
|
+
def add_to_queue(data)
|
14
|
+
@queue.push(data)
|
15
|
+
end
|
16
|
+
|
17
|
+
# Get all items from the queue
|
18
|
+
def clear
|
19
|
+
items = []
|
20
|
+
|
21
|
+
loop { items << @queue.pop(true) }
|
22
|
+
|
23
|
+
rescue ThreadError
|
24
|
+
# Last queue item reached
|
25
|
+
items
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -63,7 +63,7 @@ module SplitIoClient
|
|
63
63
|
collected_latencies[key] = value.split(',').map(&:to_f)
|
64
64
|
end
|
65
65
|
|
66
|
-
collected_latencies['sdk.get_treatment'] = latencies_array
|
66
|
+
collected_latencies['sdk.get_treatment'] = latencies_array unless latencies_array.reduce(:+) == 0
|
67
67
|
|
68
68
|
collected_latencies
|
69
69
|
end
|
data/lib/splitclient-rb.rb
CHANGED
@@ -6,6 +6,7 @@ require 'splitclient-rb/localhost_split_factory'
|
|
6
6
|
require 'splitclient-rb/split_config'
|
7
7
|
require 'exceptions/sdk_blocker_timeout_expired_exception'
|
8
8
|
require 'cache/adapters/memory_adapters/map_adapter'
|
9
|
+
require 'cache/adapters/memory_adapters/queue_adapter'
|
9
10
|
require 'cache/adapters/memory_adapters/sized_queue_adapter'
|
10
11
|
require 'cache/adapters/memory_adapter'
|
11
12
|
require 'cache/adapters/redis_adapter'
|
@@ -41,7 +41,7 @@ module SplitIoClient
|
|
41
41
|
@impressions_refresh_rate = opts[:impressions_refresh_rate] || SplitConfig.default_impressions_refresh_rate
|
42
42
|
@impressions_queue_size = opts[:impressions_queue_size] || SplitConfig.default_impressions_queue_size
|
43
43
|
@impressions_adapter = SplitConfig.init_cache_adapter(
|
44
|
-
opts[:cache_adapter] || SplitConfig.default_cache_adapter, :
|
44
|
+
opts[:cache_adapter] || SplitConfig.default_cache_adapter, :queue_adapter, @redis_url, @impressions_queue_size
|
45
45
|
)
|
46
46
|
|
47
47
|
@metrics_adapter = SplitConfig.init_cache_adapter(
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: splitclient-rb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.1.0.pre.
|
4
|
+
version: 3.1.0.pre.rc11
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Split Software
|
@@ -252,6 +252,7 @@ files:
|
|
252
252
|
- exe/splitio
|
253
253
|
- lib/cache/adapters/memory_adapter.rb
|
254
254
|
- lib/cache/adapters/memory_adapters/map_adapter.rb
|
255
|
+
- lib/cache/adapters/memory_adapters/queue_adapter.rb
|
255
256
|
- lib/cache/adapters/memory_adapters/sized_queue_adapter.rb
|
256
257
|
- lib/cache/adapters/redis_adapter.rb
|
257
258
|
- lib/cache/repositories/impressions/memory_repository.rb
|