splitclient-rb 3.1.0.pre.rc10 → 3.1.0.pre.rc11
Sign up to get free protection for your applications and to get access to all the features.
- 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
|