memcached 0.15.2 → 0.15.3

Sign up to get free protection for your applications and to get access to all the features.
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