zold 0.16.1 → 0.16.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: dce2c92e30d43499ad5adfb3bc160384024d855fc05c05cebe01248b63ad21c6
4
- data.tar.gz: 7630a27799a5260450ba09211906b9c3396bd6abadca7ada4948b85ec5254655
3
+ metadata.gz: 838582cd18be0826a9bec1f182cfde2bc160fc38039088a5935bb6b88b685d0c
4
+ data.tar.gz: 0c269f84cccf646ba2f8640d00a9f4813ebf7665ac62e76820112fb3ebc304c9
5
5
  SHA512:
6
- metadata.gz: 8396ac223ada21c0cc243d98afccf2b83ffbc9d599bd90438a9d431f97e28199bf4d906be837f89572bb60c68e19dfbd2a9d57144d49c908a336cc324c0213cb
7
- data.tar.gz: b586b645bda118c3ab16ad8505f6b01d19683666f6d53df2b0b39669f76391964f0046ed9328b29928afd377eced9e4824b4252b019ebb6b3cdb8b17778bf8e3
6
+ metadata.gz: 2badf81c5bf91b91333a3265eeee80eaa4dabd832ea758b3342b2f2288c26a1e445fcb6e702726a6c88c3251e21cb3aac294dd3e477ad3a26a886545f7321d94
7
+ data.tar.gz: f3b3b9fe33ca080202a3d5466356087a75385fa0d0f2dc13b5771433c5b5a652978d291d285ae2d04ba973ad899040dead2a0edb4dfbcc29be4391369f3d64e9
@@ -21,7 +21,6 @@
21
21
  # SOFTWARE.
22
22
 
23
23
  require 'concurrent'
24
- require 'concurrent/set'
25
24
  require 'tempfile'
26
25
  require_relative 'emission'
27
26
  require_relative '../log'
@@ -47,6 +46,7 @@ module Zold
47
46
  @address = address
48
47
  @log = log
49
48
  @ignore_score_weakeness = ignore_score_weakeness
49
+ @mutex = Mutex.new
50
50
  end
51
51
 
52
52
  def to_json
@@ -58,7 +58,7 @@ module Zold
58
58
 
59
59
  def start
60
60
  @entrance.start do
61
- @seen = Concurrent::Set.new
61
+ @seen = Set.new
62
62
  @modified = Queue.new
63
63
  @push = Thread.start do
64
64
  Thread.current.abort_on_exception = true
@@ -74,7 +74,7 @@ module Zold
74
74
  (@ignore_score_weakeness ? ['--ignore-score-weakness'] : [])
75
75
  )
76
76
  end
77
- @seen.delete(id)
77
+ @mutex.synchronize { @seen.delete(id) }
78
78
  end
79
79
  end
80
80
  end
@@ -95,7 +95,7 @@ module Zold
95
95
  return mods if @remotes.all.empty?
96
96
  (mods + [id]).each do |m|
97
97
  next if @seen.include?(m)
98
- @seen << m
98
+ @mutex.synchronize { @seen << m }
99
99
  @modified.push(m)
100
100
  @log.debug("Spread-push scheduled for #{m}, queue size is #{@modified.size}")
101
101
  end
data/lib/zold/version.rb CHANGED
@@ -25,6 +25,6 @@
25
25
  # Copyright:: Copyright (c) 2018 Yegor Bugayenko
26
26
  # License:: MIT
27
27
  module Zold
28
- VERSION = '0.16.1'
28
+ VERSION = '0.16.2'
29
29
  PROTOCOL = 2
30
30
  end
data/zold.gemspec CHANGED
@@ -56,7 +56,7 @@ and suggests a different architecture for digital wallet maintenance.'
56
56
  s.extra_rdoc_files = ['README.md', 'LICENSE.txt']
57
57
  s.add_runtime_dependency 'backtrace', '~>0'
58
58
  s.add_runtime_dependency 'cachy', '~>0'
59
- s.add_runtime_dependency 'concurrent-ruby', '1.1.0.pre2'
59
+ s.add_runtime_dependency 'concurrent-ruby', '~>1.0'
60
60
  s.add_runtime_dependency 'cucumber', '~>3' # has to stay here for Heroku
61
61
  s.add_runtime_dependency 'diffy', '~>3'
62
62
  s.add_runtime_dependency 'dry-struct', '~>0'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zold
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.16.1
4
+ version: 0.16.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yegor Bugayenko
@@ -42,16 +42,16 @@ dependencies:
42
42
  name: concurrent-ruby
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - '='
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 1.1.0.pre2
47
+ version: '1.0'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - '='
52
+ - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: 1.1.0.pre2
54
+ version: '1.0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: cucumber
57
57
  requirement: !ruby/object:Gem::Requirement