memcached 0.15.2 → 0.15.3

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.
data.tar.gz.sig CHANGED
Binary file
data/CHANGELOG CHANGED
@@ -1,4 +1,6 @@
1
1
 
2
+ v0.15.3. UDP fix. 0-value fix. Enforce server_add response code. Better tests.
3
+
2
4
  v0.15.2. Don't require memcached itself to build. Fix for AUTO_EJECT_HOSTS in random and modulus pools. Support binary protocol.
3
5
 
4
6
  v0.15.1. Fix build problem.
data/Manifest CHANGED
@@ -13,7 +13,6 @@ lib/memcached/rails.rb
13
13
  lib/memcached.rb
14
14
  LICENSE
15
15
  Manifest
16
- memcached.gemspec
17
16
  Rakefile
18
17
  README
19
18
  test/profile/benchmark.rb
@@ -44,7 +44,7 @@ class Memcached
44
44
  case behavior
45
45
  when :hash then raise(ArgumentError, msg) unless HASH_VALUES[value]
46
46
  when :distribution then raise(ArgumentError, msg) unless DISTRIBUTION_VALUES[value]
47
- when *DIRECT_VALUE_BEHAVIORS then raise(ArgumentError, msg) unless value.is_a?(Numeric) and value > 0
47
+ when *DIRECT_VALUE_BEHAVIORS then raise(ArgumentError, msg) unless value.is_a?(Numeric) and value >= 0
48
48
  else
49
49
  raise(ArgumentError, msg) unless BEHAVIOR_VALUES[value]
50
50
  end
@@ -418,13 +418,20 @@ Please note that when pipelining is enabled, setter and deleter methods do not r
418
418
 
419
419
  # Set the servers on the struct.
420
420
  def set_servers(servers)
421
- add_method = options[:use_udp] ? "memcached_server_add_udp_with_weight" : "memcached_server_add_with_weight"
422
421
  Array(servers).each_with_index do |server, index|
422
+ # Socket
423
423
  if server.is_a?(String) and File.socket?(server)
424
- Lib.memcached_server_add_unix_socket_with_weight(@struct, server, options[:default_weight].to_i)
424
+ args = [@struct, server, options[:default_weight].to_i]
425
+ check_return_code(Lib.memcached_server_add_unix_socket_with_weight(*args))
426
+ # Network
425
427
  elsif server.is_a?(String) and server =~ /^[\w\d\.-]+(:\d{1,5}){0,2}$/
426
428
  host, port, weight = server.split(":")
427
- Lib.memcached_server_add_with_weight(@struct, host, port.to_i, (weight || options[:default_weight]).to_i)
429
+ args = [@struct, host, port.to_i, (weight || options[:default_weight]).to_i]
430
+ if options[:use_udp] #
431
+ check_return_code(Lib.memcached_server_add_udp_with_weight(*args))
432
+ else
433
+ check_return_code(Lib.memcached_server_add_with_weight(*args))
434
+ end
428
435
  else
429
436
  raise ArgumentError, "Servers must be either in the format 'host:port[:weight]' (e.g., 'localhost:11211' or 'localhost:11211:10') for a network server, or a valid path to a Unix domain socket (e.g., /var/run/memcached)."
430
437
  end
@@ -2,29 +2,30 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{memcached}
5
- s.version = "0.15.2"
5
+ s.version = "0.15.3"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["Evan Weaver"]
9
9
  s.cert_chain = ["/Users/eweaver/p/configuration/gem_certificates/evan_weaver-original-public_cert.pem"]
10
- s.date = %q{2009-08-04}
10
+ s.date = %q{2009-08-07}
11
11
  s.description = %q{An interface to the libmemcached C client.}
12
12
  s.email = %q{}
13
13
  s.extensions = ["ext/extconf.rb"]
14
14
  s.extra_rdoc_files = ["BENCHMARKS", "CHANGELOG", "COMPATIBILITY", "lib/memcached/behaviors.rb", "lib/memcached/exceptions.rb", "lib/memcached/memcached.rb", "lib/memcached/rails.rb", "lib/memcached.rb", "LICENSE", "README", "TODO"]
15
- s.files = ["BENCHMARKS", "CHANGELOG", "COMPATIBILITY", "ext/extconf.rb", "ext/libmemcached-0.31.tar.gz", "ext/rlibmemcached.i", "ext/rlibmemcached_wrap.c", "lib/memcached/behaviors.rb", "lib/memcached/exceptions.rb", "lib/memcached/integer.rb", "lib/memcached/memcached.rb", "lib/memcached/rails.rb", "lib/memcached.rb", "LICENSE", "Manifest", "memcached.gemspec", "Rakefile", "README", "test/profile/benchmark.rb", "test/profile/profile.rb", "test/profile/valgrind.rb", "test/setup.rb", "test/teardown.rb", "test/test_helper.rb", "test/unit/binding_test.rb", "test/unit/memcached_test.rb", "test/unit/rails_test.rb", "TODO"]
15
+ s.files = ["BENCHMARKS", "CHANGELOG", "COMPATIBILITY", "ext/extconf.rb", "ext/libmemcached-0.31.tar.gz", "ext/rlibmemcached.i", "ext/rlibmemcached_wrap.c", "lib/memcached/behaviors.rb", "lib/memcached/exceptions.rb", "lib/memcached/integer.rb", "lib/memcached/memcached.rb", "lib/memcached/rails.rb", "lib/memcached.rb", "LICENSE", "Manifest", "Rakefile", "README", "test/profile/benchmark.rb", "test/profile/profile.rb", "test/profile/valgrind.rb", "test/setup.rb", "test/teardown.rb", "test/test_helper.rb", "test/unit/binding_test.rb", "test/unit/memcached_test.rb", "test/unit/rails_test.rb", "TODO", "memcached.gemspec"]
16
+ s.has_rdoc = true
16
17
  s.homepage = %q{http://blog.evanweaver.com/files/doc/fauna/memcached/}
17
18
  s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Memcached", "--main", "README"]
18
19
  s.require_paths = ["lib", "ext"]
19
20
  s.rubyforge_project = %q{fauna}
20
- s.rubygems_version = %q{1.3.4}
21
+ s.rubygems_version = %q{1.3.1}
21
22
  s.signing_key = %q{/Users/eweaver/p/configuration/gem_certificates/evan_weaver-original-private_key.pem}
22
23
  s.summary = %q{An interface to the libmemcached C client.}
23
24
  s.test_files = ["test/test_helper.rb", "test/unit/binding_test.rb", "test/unit/memcached_test.rb", "test/unit/rails_test.rb"]
24
25
 
25
26
  if s.respond_to? :specification_version then
26
27
  current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
27
- s.specification_version = 3
28
+ s.specification_version = 2
28
29
 
29
30
  if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
30
31
  else
@@ -11,12 +11,19 @@ unless defined? UNIX_SOCKET_NAME
11
11
  log = "/tmp/memcached.log"
12
12
  system ">#{log}"
13
13
 
14
- # Network memcached
14
+ # TCP memcached
15
15
  (43042..43046).each do |port|
16
- system "memcached #{verbosity} -U #{port} -p #{port} >> #{log} 2>&1 &"
17
- end
16
+ cmd = "memcached #{verbosity} -U 0 -p #{port} >> #{log} 2>&1 &"
17
+ raise "'#{cmd}' failed to start" unless system(cmd)
18
+ end
19
+ # UDP memcached
20
+ (43052..43053).each do |port|
21
+ cmd = "memcached #{verbosity} -U #{port} -p 0 >> #{log} 2>&1 &"
22
+ raise "'#{cmd}' failed to start" unless system(cmd)
23
+ end
18
24
  # Domain socket memcached
19
25
  (0..1).each do |i|
20
- system "memcached -M -s #{UNIX_SOCKET_NAME}#{i} #{verbosity} >> #{log} 2>&1 &"
26
+ cmd = "memcached -M -s #{UNIX_SOCKET_NAME}#{i} #{verbosity} >> #{log} 2>&1 &"
27
+ raise "'#{cmd}' failed to start" unless system(cmd)
21
28
  end
22
29
  end
@@ -8,6 +8,7 @@ class MemcachedTest < Test::Unit::TestCase
8
8
 
9
9
  def setup
10
10
  @servers = ['localhost:43042', 'localhost:43043', "#{UNIX_SOCKET_NAME}0"]
11
+ @udp_servers = ['localhost:43052', 'localhost:43053']
11
12
 
12
13
  # Maximum allowed prefix key size for :hash_with_prefix_key_key => false
13
14
  @prefix_key = 'prefix_key_'
@@ -22,10 +23,10 @@ class MemcachedTest < Test::Unit::TestCase
22
23
  @udp_options = {
23
24
  :prefix_key => @prefix_key,
24
25
  :hash => :default,
25
- :udp => true,
26
+ :use_udp => true,
26
27
  :distribution => :modula
27
28
  }
28
- @udp_cache = Memcached.new(@servers, @udp_options)
29
+ @udp_cache = Memcached.new(@udp_servers, @udp_options)
29
30
 
30
31
  @nb_options = {
31
32
  :prefix_key => @prefix_key,
@@ -218,13 +219,14 @@ class MemcachedTest < Test::Unit::TestCase
218
219
  result = @cache.get key
219
220
  assert_equal @value, result
220
221
  end
221
-
222
- def test_udp_get
223
- @udp_cache.set key, @value
224
- result = @udp_cache.get key
225
- assert_equal @value, result
226
- end
227
222
 
223
+ def test_udp_get
224
+ @udp_cache.set(key, @value)
225
+ assert_raises(Memcached::ActionNotSupported) do
226
+ @udp_cache.get(key)
227
+ end
228
+ end
229
+
228
230
  def test_get_nil
229
231
  @cache.set key, nil, 0
230
232
  result = @cache.get key
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: memcached
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.15.2
4
+ version: 0.15.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Evan Weaver
@@ -30,7 +30,7 @@ cert_chain:
30
30
  yZ0=
31
31
  -----END CERTIFICATE-----
32
32
 
33
- date: 2009-08-04 00:00:00 -07:00
33
+ date: 2009-08-07 00:00:00 -07:00
34
34
  default_executable:
35
35
  dependencies: []
36
36
 
@@ -68,7 +68,6 @@ files:
68
68
  - lib/memcached.rb
69
69
  - LICENSE
70
70
  - Manifest
71
- - memcached.gemspec
72
71
  - Rakefile
73
72
  - README
74
73
  - test/profile/benchmark.rb
@@ -81,10 +80,9 @@ files:
81
80
  - test/unit/memcached_test.rb
82
81
  - test/unit/rails_test.rb
83
82
  - TODO
83
+ - memcached.gemspec
84
84
  has_rdoc: true
85
85
  homepage: http://blog.evanweaver.com/files/doc/fauna/memcached/
86
- licenses: []
87
-
88
86
  post_install_message:
89
87
  rdoc_options:
90
88
  - --line-numbers
@@ -111,9 +109,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
111
109
  requirements: []
112
110
 
113
111
  rubyforge_project: fauna
114
- rubygems_version: 1.3.4
112
+ rubygems_version: 1.3.1
115
113
  signing_key:
116
- specification_version: 3
114
+ specification_version: 2
117
115
  summary: An interface to the libmemcached C client.
118
116
  test_files:
119
117
  - test/test_helper.rb
metadata.gz.sig CHANGED
@@ -1 +1 @@
1
- \� ~�lus��)�$���w)xsinBw=��*[�çO]Q;��j^�B W��/HФ'L����EIt8�=�'H�\��AX��V���{��{2��s@�hkzp׼�����''��rj�����6Nj
1
+ <�[({�+��I~�P�׾�ܧ�I+�:���twݕq��bg �Ծ�݃�a%+����A���b9��qUcQ������=�2wFrQ<��X:�����qBLB\t*J�����c���;(��u�� ~tBs7_����wg㣏?@�RČ-A3���8d�#<2Ʌ�`����X!Ӓ|�C�����q-,��?���B�rpL����i�AQ-����0ɗ�cjc��Ȧ��49����R�c����0W