memcached 1.5.1 → 1.6.0

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
+ v1.6.0. Add support for custom encoders (jason-o-matic).
3
+
2
4
  v1.5.1. Fix segfault on Ruby 1.9.3-p429 (plerohellec).
3
5
 
4
6
  v1.5.0. Fix unknown return code errors (tmm1).
data/Manifest CHANGED
@@ -226,6 +226,7 @@ lib/memcached/auth.rb
226
226
  lib/memcached/behaviors.rb
227
227
  lib/memcached/exceptions.rb
228
228
  lib/memcached/experimental.rb
229
+ lib/memcached/marshal_codec.rb
229
230
  lib/memcached/memcached.rb
230
231
  lib/memcached/rails.rb
231
232
  memcached.gemspec
@@ -110,7 +110,7 @@ There is a compatibility wrapper for legacy applications called Memcached::Rails
110
110
 
111
111
  == Benchmarks
112
112
 
113
- <b>memcached</b>, correctly configured, is at least twice as fast as <b>memcache-client</b> and <b>dalli</b>. See BENCHMARKS[link:files/BENCHMARKS.html] for details.
113
+ <b>memcached</b>, correctly configured, is at least twice as fast as <b>memcache-client</b> and <b>dalli</b>. See link:BENCHMARKS for details.
114
114
 
115
115
  == Reporting problems
116
116
 
@@ -27,6 +27,7 @@ end
27
27
  require 'memcached/exceptions'
28
28
  require 'memcached/behaviors'
29
29
  require 'memcached/auth'
30
+ require 'memcached/marshal_codec'
30
31
  require 'memcached/memcached'
31
32
  require 'memcached/rails'
32
33
  require 'memcached/experimental'
@@ -0,0 +1,10 @@
1
+ class Memcached
2
+ module MarshalCodec
3
+ def self.encode(key, value, flags)
4
+ [Marshal.dump(value), flags]
5
+ end
6
+ def self.decode(key, value, flags)
7
+ Marshal.load(value)
8
+ end
9
+ end
10
+ end
@@ -33,6 +33,7 @@ class Memcached
33
33
  :binary_protocol => false,
34
34
  :credentials => nil,
35
35
  :experimental_features => false,
36
+ :codec => Memcached::MarshalCodec,
36
37
  :exception_retry_limit => 5,
37
38
  :exceptions_to_retry => [
38
39
  Memcached::ServerIsMarkedDead,
@@ -72,6 +73,7 @@ Valid option parameters are:
72
73
 
73
74
  <tt>:prefix_key</tt>:: A string to prepend to every key, for namespacing. Max length is 127. Defaults to the empty string.
74
75
  <tt>:prefix_delimiter</tt>:: A character to append to the prefix key. Defaults to the empty string.
76
+ <tt>:codec</tt>:: An object to use as the codec for encoded requests. Defaults to Memcached::MarshalCodec.
75
77
  <tt>:hash</tt>:: The name of a hash function to use. Possible values are: <tt>:crc</tt>, <tt>:default</tt>, <tt>:fnv1_32</tt>, <tt>:fnv1_64</tt>, <tt>:fnv1a_32</tt>, <tt>:fnv1a_64</tt>, <tt>:hsieh</tt>, <tt>:md5</tt>, <tt>:murmur</tt>, and <tt>:none</tt>. <tt>:fnv1_32</tt> is fast and well known, and is the default. Use <tt>:md5</tt> for compatibility with other ketama clients. <tt>:none</tt> is for use when there is a single server, and performs no actual hashing.
76
78
  <tt>:distribution</tt>:: Either <tt>:modula</tt>, <tt>:consistent_ketama</tt>, <tt>:consistent_wheel</tt>, or <tt>:ketama</tt>. Defaults to <tt>:ketama</tt>.
77
79
  <tt>:server_failure_limit</tt>:: How many consecutive failures to allow before marking a host as dead. Has no effect unless <tt>:retry_timeout</tt> is also set.
@@ -106,7 +108,10 @@ Please note that when <tt>:no_block => true</tt>, update methods do not raise on
106
108
  # Merge option defaults and discard meaningless keys
107
109
  @options = DEFAULTS.merge(opts)
108
110
  @options.delete_if { |k,v| not DEFAULTS.keys.include? k }
111
+
112
+ # Marginally speed up settings access for hot paths
109
113
  @default_ttl = options[:default_ttl]
114
+ @codec = options[:codec]
110
115
 
111
116
  if servers == nil || servers == []
112
117
  if ENV.key?("MEMCACHE_SERVERS")
@@ -297,10 +302,10 @@ Please note that when <tt>:no_block => true</tt>, update methods do not raise on
297
302
  #
298
303
  # Accepts an optional <tt>ttl</tt> value to specify the maximum lifetime of the key on the server, in seconds. <tt>ttl</tt> must be a <tt>FixNum</tt>. <tt>0</tt> means no ttl. Note that there is no guarantee that the key will persist as long as the <tt>ttl</tt>, but it will not persist longer.
299
304
  #
300
- # Also accepts a <tt>marshal</tt> value, which defaults to <tt>true</tt>. Set <tt>marshal</tt> to <tt>false</tt>, and pass a String as the <tt>value</tt>, if you want to set a raw byte array.
305
+ # Also accepts an <tt>encode</tt> value, which defaults to <tt>true</tt> and uses the default Marshal codec. Set <tt>encode</tt> to <tt>false</tt>, and pass a String as the <tt>value</tt>, if you want to set a raw byte array.
301
306
  #
302
- def set(key, value, ttl=@default_ttl, marshal=true, flags=FLAGS)
303
- value = marshal ? Marshal.dump(value) : value
307
+ def set(key, value, ttl=@default_ttl, encode=true, flags=FLAGS)
308
+ value, flags = @codec.encode(key, value, flags) if encode
304
309
  begin
305
310
  check_return_code(
306
311
  Lib.memcached_set(@struct, key, value, ttl, flags),
@@ -316,8 +321,8 @@ Please note that when <tt>:no_block => true</tt>, update methods do not raise on
316
321
  end
317
322
 
318
323
  # Add a key/value pair. Raises <b>Memcached::NotStored</b> if the key already exists on the server. The parameters are the same as <tt>set</tt>.
319
- def add(key, value, ttl=@default_ttl, marshal=true, flags=FLAGS)
320
- value = marshal ? Marshal.dump(value) : value
324
+ def add(key, value, ttl=@default_ttl, encode=true, flags=FLAGS)
325
+ value, flags = @codec.encode(key, value, flags) if encode
321
326
  begin
322
327
  check_return_code(
323
328
  Lib.memcached_add(@struct, key, value, ttl, flags),
@@ -335,7 +340,7 @@ Please note that when <tt>:no_block => true</tt>, update methods do not raise on
335
340
  #
336
341
  # Also accepts an optional <tt>offset</tt> paramater, which defaults to 1. <tt>offset</tt> must be an integer.
337
342
  #
338
- # Note that the key must be initialized to an unmarshalled integer first, via <tt>set</tt>, <tt>add</tt>, or <tt>replace</tt> with <tt>marshal</tt> set to <tt>false</tt>.
343
+ # Note that the key must be initialized to an unencoded integer first, via <tt>set</tt>, <tt>add</tt>, or <tt>replace</tt> with <tt>encode</tt> set to <tt>false</tt>.
339
344
  def increment(key, offset=1)
340
345
  ret, value = Lib.memcached_increment(@struct, key, offset)
341
346
  check_return_code(ret, key)
@@ -365,8 +370,8 @@ Please note that when <tt>:no_block => true</tt>, update methods do not raise on
365
370
  #:startdoc:
366
371
 
367
372
  # Replace a key/value pair. Raises <b>Memcached::NotFound</b> if the key does not exist on the server. The parameters are the same as <tt>set</tt>.
368
- def replace(key, value, ttl=@default_ttl, marshal=true, flags=FLAGS)
369
- value = marshal ? Marshal.dump(value) : value
373
+ def replace(key, value, ttl=@default_ttl, encode=true, flags=FLAGS)
374
+ value, flags = @codec.encode(key, value, flags) if encode
370
375
  begin
371
376
  check_return_code(
372
377
  Lib.memcached_replace(@struct, key, value, ttl, flags),
@@ -382,7 +387,7 @@ Please note that when <tt>:no_block => true</tt>, update methods do not raise on
382
387
 
383
388
  # Appends a string to a key's value. Accepts a String <tt>key</tt> and a String <tt>value</tt>. Raises <b>Memcached::NotFound</b> if the key does not exist on the server.
384
389
  #
385
- # Note that the key must be initialized to an unmarshalled string first, via <tt>set</tt>, <tt>add</tt>, or <tt>replace</tt> with <tt>marshal</tt> set to <tt>false</tt>.
390
+ # Note that the key must be initialized to an unencoded string first, via <tt>set</tt>, <tt>add</tt>, or <tt>replace</tt> with <tt>encode</tt> set to <tt>false</tt>.
386
391
  def append(key, value)
387
392
  # Requires memcached 1.2.4
388
393
  check_return_code(
@@ -416,7 +421,7 @@ Please note that when <tt>:no_block => true</tt>, update methods do not raise on
416
421
  #
417
422
  # CAS stands for "compare and swap", and avoids the need for manual key mutexing. CAS support must be enabled in Memcached.new or a <b>Memcached::ClientError</b> will be raised. Note that CAS may be buggy in memcached itself.
418
423
  # :retry_on_exceptions does not apply to this method
419
- def cas(key, ttl=@default_ttl, marshal=true, flags=FLAGS)
424
+ def cas(key, ttl=@default_ttl, encode=true, flags=FLAGS)
420
425
  raise ClientError, "CAS not enabled for this Memcached instance" unless options[:support_cas]
421
426
 
422
427
  begin
@@ -431,9 +436,9 @@ Please note that when <tt>:no_block => true</tt>, update methods do not raise on
431
436
 
432
437
  cas = @struct.result.cas
433
438
 
434
- value = Marshal.load(value) if marshal
439
+ value = @codec.decode(key, value, flags) if encode
435
440
  value = yield value
436
- value = Marshal.dump(value) if marshal
441
+ value, flags = @codec.encode(key, value, flags) if encode
437
442
 
438
443
  begin
439
444
  check_return_code(
@@ -481,7 +486,7 @@ Please note that when <tt>:no_block => true</tt>, update methods do not raise on
481
486
 
482
487
  # Gets a key's value from the server. Accepts a String <tt>key</tt> or array of String <tt>keys</tt>.
483
488
  #
484
- # Also accepts a <tt>marshal</tt> value, which defaults to <tt>true</tt>. Set <tt>marshal</tt> to <tt>false</tt> if you want the <tt>value</tt> to be returned directly as a String. Otherwise it will be assumed to be a marshalled Ruby object and unmarshalled.
489
+ # Also accepts a <tt>encode</tt> value, which defaults to <tt>true</tt>. Set <tt>encode</tt> to <tt>false</tt> if you want the <tt>value</tt> to be returned directly as a String. Otherwise it will be assumed to be an encoded Ruby object and decoded.
485
490
  #
486
491
  # If you pass a String key, and the key does not exist on the server, <b>Memcached::NotFound</b> will be raised. If you pass an array of keys, memcached's <tt>multiget</tt> mode will be used, and a hash of key/value pairs will be returned. The hash will contain only the keys that were found.
487
492
  #
@@ -489,7 +494,7 @@ Please note that when <tt>:no_block => true</tt>, update methods do not raise on
489
494
  #
490
495
  # Note that when you rescue Memcached::NotFound exceptions, you should use a the block rescue syntax instead of the inline syntax. Block rescues are very fast, but inline rescues are very slow.
491
496
  #
492
- def get(keys, marshal=true)
497
+ def get(keys, encode=true)
493
498
  if keys.is_a? Array
494
499
  # Multi get
495
500
  ret = Lib.memcached_mget(@struct, keys);
@@ -499,15 +504,15 @@ Please note that when <tt>:no_block => true</tt>, update methods do not raise on
499
504
  value, key, flags, ret = Lib.memcached_fetch_rvalue(@struct)
500
505
  while ret != 21 do # Lib::MEMCACHED_END
501
506
  if ret == 0 # Lib::MEMCACHED_SUCCESS
502
- hash[key] = value
507
+ hash[key] = encode ? [value, flags] : value
503
508
  elsif ret != 16 # Lib::MEMCACHED_NOTFOUND
504
509
  check_return_code(ret, key)
505
510
  end
506
511
  value, key, flags, ret = Lib.memcached_fetch_rvalue(@struct)
507
512
  end
508
- if marshal
509
- hash.each do |key, value|
510
- hash[key] = Marshal.load(value)
513
+ if encode
514
+ hash.each do |key, value_and_flags|
515
+ hash[key] = @codec.decode(key, *value_and_flags)
511
516
  end
512
517
  end
513
518
  hash
@@ -515,7 +520,7 @@ Please note that when <tt>:no_block => true</tt>, update methods do not raise on
515
520
  # Single get
516
521
  value, flags, ret = Lib.memcached_get_rvalue(@struct, keys)
517
522
  check_return_code(ret, keys)
518
- marshal ? Marshal.load(value) : value
523
+ encode ? @codec.decode(keys, value, flags) : value
519
524
  end
520
525
  rescue => e
521
526
  tries ||= 0
@@ -534,11 +539,11 @@ Please note that when <tt>:no_block => true</tt>, update methods do not raise on
534
539
  end
535
540
 
536
541
  # Gets a key's value from the previous server. Only useful with random distribution.
537
- def get_from_last(key, marshal=true)
542
+ def get_from_last(key, encode=true)
538
543
  raise ArgumentError, "get_from_last() is not useful unless :random distribution is enabled." unless options[:distribution] == :random
539
544
  value, flags, ret = Lib.memcached_get_from_last_rvalue(@struct, key)
540
545
  check_return_code(ret, key)
541
- marshal ? Marshal.load(value) : value
546
+ encode ? @codec.decode(key, value, flags) : value
542
547
  end
543
548
 
544
549
  ### Information methods
@@ -2,17 +2,17 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = "memcached"
5
- s.version = "1.5.1"
5
+ s.version = "1.6.0"
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/cloudburst/configuration/gem_certificates/evan_weaver-original-public_cert.pem"]
10
- s.date = "2013-05-28"
10
+ s.date = "2013-06-10"
11
11
  s.description = "An interface to the libmemcached C client."
12
12
  s.email = ""
13
13
  s.extensions = ["ext/extconf.rb"]
14
14
  s.extra_rdoc_files = ["BENCHMARKS", "CHANGELOG", "LICENSE", "README.rdoc", "TODO", "ext/libmemcached-0.32/README", "ext/libmemcached-0.32/TODO", "ext/libmemcached-0.32/libmemcached/memcached/README.txt", "lib/memcached.rb", "lib/memcached/behaviors.rb", "lib/memcached/exceptions.rb", "lib/memcached/experimental.rb", "lib/memcached/memcached.rb", "lib/memcached/rails.rb"]
15
- s.files = ["BENCHMARKS", "CHANGELOG", "Gemfile", "Gemfile.lock", "LICENSE", "Manifest", "README.rdoc", "Rakefile", "TODO", "ext/extconf-make.rb", "ext/extconf.rb", "ext/libmemcached-0.32/AUTHORS", "ext/libmemcached-0.32/COPYING", "ext/libmemcached-0.32/ChangeLog", "ext/libmemcached-0.32/INSTALL", "ext/libmemcached-0.32/Makefile.am", "ext/libmemcached-0.32/Makefile.in", "ext/libmemcached-0.32/NEWS", "ext/libmemcached-0.32/README", "ext/libmemcached-0.32/THANKS", "ext/libmemcached-0.32/TODO", "ext/libmemcached-0.32/aclocal.m4", "ext/libmemcached-0.32/clients/Makefile.am", "ext/libmemcached-0.32/clients/Makefile.in", "ext/libmemcached-0.32/clients/client_options.h", "ext/libmemcached-0.32/clients/execute.c", "ext/libmemcached-0.32/clients/execute.h", "ext/libmemcached-0.32/clients/generator.c", "ext/libmemcached-0.32/clients/generator.h", "ext/libmemcached-0.32/clients/memcat.c", "ext/libmemcached-0.32/clients/memcp.c", "ext/libmemcached-0.32/clients/memdump.c", "ext/libmemcached-0.32/clients/memerror.c", "ext/libmemcached-0.32/clients/memflush.c", "ext/libmemcached-0.32/clients/memrm.c", "ext/libmemcached-0.32/clients/memslap.c", "ext/libmemcached-0.32/clients/memstat.c", "ext/libmemcached-0.32/clients/utilities.c", "ext/libmemcached-0.32/clients/utilities.h", "ext/libmemcached-0.32/config.h.in", "ext/libmemcached-0.32/config/compile", "ext/libmemcached-0.32/config/config.guess", "ext/libmemcached-0.32/config/config.rpath", "ext/libmemcached-0.32/config/config.sub", "ext/libmemcached-0.32/config/depcomp", "ext/libmemcached-0.32/config/install-sh", "ext/libmemcached-0.32/config/ltmain.sh", "ext/libmemcached-0.32/config/missing", "ext/libmemcached-0.32/configure", "ext/libmemcached-0.32/configure.ac", "ext/libmemcached-0.32/docs/Makefile.am", "ext/libmemcached-0.32/docs/Makefile.in", "ext/libmemcached-0.32/docs/libmemcached.pod", "ext/libmemcached-0.32/docs/libmemcached_examples.pod", "ext/libmemcached-0.32/docs/libmemcachedutil.pod", "ext/libmemcached-0.32/docs/memcached_analyze.pod", "ext/libmemcached-0.32/docs/memcached_auto.pod", "ext/libmemcached-0.32/docs/memcached_behavior.pod", "ext/libmemcached-0.32/docs/memcached_callback.pod", "ext/libmemcached-0.32/docs/memcached_create.pod", "ext/libmemcached-0.32/docs/memcached_delete.pod", "ext/libmemcached-0.32/docs/memcached_dump.pod", "ext/libmemcached-0.32/docs/memcached_flush.pod", "ext/libmemcached-0.32/docs/memcached_flush_buffers.pod", "ext/libmemcached-0.32/docs/memcached_generate_hash_value.pod", "ext/libmemcached-0.32/docs/memcached_get.pod", "ext/libmemcached-0.32/docs/memcached_memory_allocators.pod", "ext/libmemcached-0.32/docs/memcached_pool.pod", "ext/libmemcached-0.32/docs/memcached_quit.pod", "ext/libmemcached-0.32/docs/memcached_sasl.pod", "ext/libmemcached-0.32/docs/memcached_server_st.pod", "ext/libmemcached-0.32/docs/memcached_servers.pod", "ext/libmemcached-0.32/docs/memcached_set.pod", "ext/libmemcached-0.32/docs/memcached_stats.pod", "ext/libmemcached-0.32/docs/memcached_strerror.pod", "ext/libmemcached-0.32/docs/memcached_user_data.pod", "ext/libmemcached-0.32/docs/memcached_verbosity.pod", "ext/libmemcached-0.32/docs/memcached_version.pod", "ext/libmemcached-0.32/docs/memcat.pod", "ext/libmemcached-0.32/docs/memcp.pod", "ext/libmemcached-0.32/docs/memdump.pod", "ext/libmemcached-0.32/docs/memerror.pod", "ext/libmemcached-0.32/docs/memflush.pod", "ext/libmemcached-0.32/docs/memrm.pod", "ext/libmemcached-0.32/docs/memslap.pod", "ext/libmemcached-0.32/docs/memstat.pod", "ext/libmemcached-0.32/libmemcached/Makefile.am", "ext/libmemcached-0.32/libmemcached/Makefile.in", "ext/libmemcached-0.32/libmemcached/byteorder.c", "ext/libmemcached-0.32/libmemcached/common.h", "ext/libmemcached-0.32/libmemcached/crc.c", "ext/libmemcached-0.32/libmemcached/hsieh_hash.c", "ext/libmemcached-0.32/libmemcached/jenkins_hash.c", "ext/libmemcached-0.32/libmemcached/libmemcached.ver", "ext/libmemcached-0.32/libmemcached/libmemcached_probes.d", "ext/libmemcached-0.32/libmemcached/libmemcached_probes.h", "ext/libmemcached-0.32/libmemcached/md5.c", "ext/libmemcached-0.32/libmemcached/memcached.c", "ext/libmemcached-0.32/libmemcached/memcached.h", "ext/libmemcached-0.32/libmemcached/memcached.hpp", "ext/libmemcached-0.32/libmemcached/memcached/README.txt", "ext/libmemcached-0.32/libmemcached/memcached/protocol_binary.h", "ext/libmemcached-0.32/libmemcached/memcached_allocators.c", "ext/libmemcached-0.32/libmemcached/memcached_analyze.c", "ext/libmemcached-0.32/libmemcached/memcached_auto.c", "ext/libmemcached-0.32/libmemcached/memcached_behavior.c", "ext/libmemcached-0.32/libmemcached/memcached_callback.c", "ext/libmemcached-0.32/libmemcached/memcached_configure.h.in", "ext/libmemcached-0.32/libmemcached/memcached_connect.c", "ext/libmemcached-0.32/libmemcached/memcached_constants.h", "ext/libmemcached-0.32/libmemcached/memcached_delete.c", "ext/libmemcached-0.32/libmemcached/memcached_do.c", "ext/libmemcached-0.32/libmemcached/memcached_dump.c", "ext/libmemcached-0.32/libmemcached/memcached_exist.c", "ext/libmemcached-0.32/libmemcached/memcached_exist.h", "ext/libmemcached-0.32/libmemcached/memcached_fetch.c", "ext/libmemcached-0.32/libmemcached/memcached_flush.c", "ext/libmemcached-0.32/libmemcached/memcached_flush_buffers.c", "ext/libmemcached-0.32/libmemcached/memcached_get.c", "ext/libmemcached-0.32/libmemcached/memcached_get.h", "ext/libmemcached-0.32/libmemcached/memcached_hash.c", "ext/libmemcached-0.32/libmemcached/memcached_hosts.c", "ext/libmemcached-0.32/libmemcached/memcached_internal.h", "ext/libmemcached-0.32/libmemcached/memcached_io.c", "ext/libmemcached-0.32/libmemcached/memcached_io.h", "ext/libmemcached-0.32/libmemcached/memcached_key.c", "ext/libmemcached-0.32/libmemcached/memcached_parse.c", "ext/libmemcached-0.32/libmemcached/memcached_pool.h", "ext/libmemcached-0.32/libmemcached/memcached_purge.c", "ext/libmemcached-0.32/libmemcached/memcached_quit.c", "ext/libmemcached-0.32/libmemcached/memcached_response.c", "ext/libmemcached-0.32/libmemcached/memcached_result.c", "ext/libmemcached-0.32/libmemcached/memcached_result.h", "ext/libmemcached-0.32/libmemcached/memcached_sasl.c", "ext/libmemcached-0.32/libmemcached/memcached_sasl.h", "ext/libmemcached-0.32/libmemcached/memcached_server.c", "ext/libmemcached-0.32/libmemcached/memcached_server.h", "ext/libmemcached-0.32/libmemcached/memcached_stats.c", "ext/libmemcached-0.32/libmemcached/memcached_storage.c", "ext/libmemcached-0.32/libmemcached/memcached_storage.h", "ext/libmemcached-0.32/libmemcached/memcached_strerror.c", "ext/libmemcached-0.32/libmemcached/memcached_string.c", "ext/libmemcached-0.32/libmemcached/memcached_string.h", "ext/libmemcached-0.32/libmemcached/memcached_touch.c", "ext/libmemcached-0.32/libmemcached/memcached_touch.h", "ext/libmemcached-0.32/libmemcached/memcached_types.h", "ext/libmemcached-0.32/libmemcached/memcached_util.h", "ext/libmemcached-0.32/libmemcached/memcached_verbosity.c", "ext/libmemcached-0.32/libmemcached/memcached_version.c", "ext/libmemcached-0.32/libmemcached/memcached_watchpoint.h", "ext/libmemcached-0.32/libmemcached/murmur_hash.c", "ext/libmemcached-0.32/libmemcached/visibility.h", "ext/libmemcached-0.32/libmemcachedutil/Makefile.am", "ext/libmemcached-0.32/libmemcachedutil/Makefile.in", "ext/libmemcached-0.32/libmemcachedutil/libmemcachedutil.ver", "ext/libmemcached-0.32/libmemcachedutil/memcached_pool.c", "ext/libmemcached-0.32/m4/ac_cxx_compile_stdcxx_0x.m4", "ext/libmemcached-0.32/m4/ac_cxx_header_stdcxx_98.m4", "ext/libmemcached-0.32/m4/acx_pthread.m4", "ext/libmemcached-0.32/m4/byteorder.m4", "ext/libmemcached-0.32/m4/deprecated.m4", "ext/libmemcached-0.32/m4/enable_utillib.m4", "ext/libmemcached-0.32/m4/extensions.m4", "ext/libmemcached-0.32/m4/hsieh.m4", "ext/libmemcached-0.32/m4/lib-prefix.m4", "ext/libmemcached-0.32/m4/libtool.m4", "ext/libmemcached-0.32/m4/ltoptions.m4", "ext/libmemcached-0.32/m4/ltsugar.m4", "ext/libmemcached-0.32/m4/ltversion.m4", "ext/libmemcached-0.32/m4/lt~obsolete.m4", "ext/libmemcached-0.32/m4/memcached.m4", "ext/libmemcached-0.32/m4/pandora_64bit.m4", "ext/libmemcached-0.32/m4/pandora_canonical.m4", "ext/libmemcached-0.32/m4/pandora_check_compiler_version.m4", "ext/libmemcached-0.32/m4/pandora_check_cxx_standard.m4", "ext/libmemcached-0.32/m4/pandora_enable_dtrace.m4", "ext/libmemcached-0.32/m4/pandora_ensure_gcc_version.m4", "ext/libmemcached-0.32/m4/pandora_have_better_malloc.m4", "ext/libmemcached-0.32/m4/pandora_have_sasl.m4", "ext/libmemcached-0.32/m4/pandora_header_assert.m4", "ext/libmemcached-0.32/m4/pandora_libtool.m4", "ext/libmemcached-0.32/m4/pandora_optimize.m4", "ext/libmemcached-0.32/m4/pandora_shared_ptr.m4", "ext/libmemcached-0.32/m4/pandora_vc_build.m4", "ext/libmemcached-0.32/m4/pandora_warnings.m4", "ext/libmemcached-0.32/m4/pod2man.m4", "ext/libmemcached-0.32/m4/protocol_binary.m4", "ext/libmemcached-0.32/m4/setsockopt.m4", "ext/libmemcached-0.32/m4/visibility.m4", "ext/libmemcached-0.32/support/Makefile.am", "ext/libmemcached-0.32/support/Makefile.in", "ext/libmemcached-0.32/support/libmemcached-fc.spec.in", "ext/libmemcached-0.32/support/libmemcached.pc.in", "ext/libmemcached-0.32/support/libmemcached.spec", "ext/libmemcached-0.32/support/libmemcached.spec.in", "ext/libmemcached-0.32/support/set_benchmark.sh", "ext/libmemcached-0.32/tests/Makefile.am", "ext/libmemcached-0.32/tests/Makefile.in", "ext/libmemcached-0.32/tests/atomsmasher.c", "ext/libmemcached-0.32/tests/function.c", "ext/libmemcached-0.32/tests/ketama_test_cases.h", "ext/libmemcached-0.32/tests/output.cmp", "ext/libmemcached-0.32/tests/output.res", "ext/libmemcached-0.32/tests/output2.res", "ext/libmemcached-0.32/tests/plus.cpp", "ext/libmemcached-0.32/tests/r/memcat.res", "ext/libmemcached-0.32/tests/r/memcp.res", "ext/libmemcached-0.32/tests/r/memrm.res", "ext/libmemcached-0.32/tests/r/memslap.res", "ext/libmemcached-0.32/tests/r/memstat.res", "ext/libmemcached-0.32/tests/server.c", "ext/libmemcached-0.32/tests/server.h", "ext/libmemcached-0.32/tests/start.c", "ext/libmemcached-0.32/tests/t/memcat.test", "ext/libmemcached-0.32/tests/t/memcp.test", "ext/libmemcached-0.32/tests/t/memrm.test", "ext/libmemcached-0.32/tests/t/memslap.test", "ext/libmemcached-0.32/tests/t/memstat.test", "ext/libmemcached-0.32/tests/test.c", "ext/libmemcached-0.32/tests/test.h", "ext/libmemcached-0.32/tests/udp.c", "ext/rlibmemcached.i", "ext/rlibmemcached_wrap.c", "lib/memcached.rb", "lib/memcached/auth.rb", "lib/memcached/behaviors.rb", "lib/memcached/exceptions.rb", "lib/memcached/experimental.rb", "lib/memcached/memcached.rb", "lib/memcached/rails.rb", "memcached.gemspec", "test/profile/benchmark.rb", "test/profile/c_profiler.rb", "test/profile/exercise.rb", "test/profile/rb_profiler.rb", "test/profile/valgrind.rb", "test/setup.rb", "test/teardown.rb", "test/test_helper.rb", "test/unit/binding_test.rb", "test/unit/memcached_experimental_test.rb", "test/unit/memcached_test.rb", "test/unit/rails_test.rb"]
15
+ s.files = ["BENCHMARKS", "CHANGELOG", "Gemfile", "Gemfile.lock", "LICENSE", "Manifest", "README.rdoc", "Rakefile", "TODO", "ext/extconf-make.rb", "ext/extconf.rb", "ext/libmemcached-0.32/AUTHORS", "ext/libmemcached-0.32/COPYING", "ext/libmemcached-0.32/ChangeLog", "ext/libmemcached-0.32/INSTALL", "ext/libmemcached-0.32/Makefile.am", "ext/libmemcached-0.32/Makefile.in", "ext/libmemcached-0.32/NEWS", "ext/libmemcached-0.32/README", "ext/libmemcached-0.32/THANKS", "ext/libmemcached-0.32/TODO", "ext/libmemcached-0.32/aclocal.m4", "ext/libmemcached-0.32/clients/Makefile.am", "ext/libmemcached-0.32/clients/Makefile.in", "ext/libmemcached-0.32/clients/client_options.h", "ext/libmemcached-0.32/clients/execute.c", "ext/libmemcached-0.32/clients/execute.h", "ext/libmemcached-0.32/clients/generator.c", "ext/libmemcached-0.32/clients/generator.h", "ext/libmemcached-0.32/clients/memcat.c", "ext/libmemcached-0.32/clients/memcp.c", "ext/libmemcached-0.32/clients/memdump.c", "ext/libmemcached-0.32/clients/memerror.c", "ext/libmemcached-0.32/clients/memflush.c", "ext/libmemcached-0.32/clients/memrm.c", "ext/libmemcached-0.32/clients/memslap.c", "ext/libmemcached-0.32/clients/memstat.c", "ext/libmemcached-0.32/clients/utilities.c", "ext/libmemcached-0.32/clients/utilities.h", "ext/libmemcached-0.32/config.h.in", "ext/libmemcached-0.32/config/compile", "ext/libmemcached-0.32/config/config.guess", "ext/libmemcached-0.32/config/config.rpath", "ext/libmemcached-0.32/config/config.sub", "ext/libmemcached-0.32/config/depcomp", "ext/libmemcached-0.32/config/install-sh", "ext/libmemcached-0.32/config/ltmain.sh", "ext/libmemcached-0.32/config/missing", "ext/libmemcached-0.32/configure", "ext/libmemcached-0.32/configure.ac", "ext/libmemcached-0.32/docs/Makefile.am", "ext/libmemcached-0.32/docs/Makefile.in", "ext/libmemcached-0.32/docs/libmemcached.pod", "ext/libmemcached-0.32/docs/libmemcached_examples.pod", "ext/libmemcached-0.32/docs/libmemcachedutil.pod", "ext/libmemcached-0.32/docs/memcached_analyze.pod", "ext/libmemcached-0.32/docs/memcached_auto.pod", "ext/libmemcached-0.32/docs/memcached_behavior.pod", "ext/libmemcached-0.32/docs/memcached_callback.pod", "ext/libmemcached-0.32/docs/memcached_create.pod", "ext/libmemcached-0.32/docs/memcached_delete.pod", "ext/libmemcached-0.32/docs/memcached_dump.pod", "ext/libmemcached-0.32/docs/memcached_flush.pod", "ext/libmemcached-0.32/docs/memcached_flush_buffers.pod", "ext/libmemcached-0.32/docs/memcached_generate_hash_value.pod", "ext/libmemcached-0.32/docs/memcached_get.pod", "ext/libmemcached-0.32/docs/memcached_memory_allocators.pod", "ext/libmemcached-0.32/docs/memcached_pool.pod", "ext/libmemcached-0.32/docs/memcached_quit.pod", "ext/libmemcached-0.32/docs/memcached_sasl.pod", "ext/libmemcached-0.32/docs/memcached_server_st.pod", "ext/libmemcached-0.32/docs/memcached_servers.pod", "ext/libmemcached-0.32/docs/memcached_set.pod", "ext/libmemcached-0.32/docs/memcached_stats.pod", "ext/libmemcached-0.32/docs/memcached_strerror.pod", "ext/libmemcached-0.32/docs/memcached_user_data.pod", "ext/libmemcached-0.32/docs/memcached_verbosity.pod", "ext/libmemcached-0.32/docs/memcached_version.pod", "ext/libmemcached-0.32/docs/memcat.pod", "ext/libmemcached-0.32/docs/memcp.pod", "ext/libmemcached-0.32/docs/memdump.pod", "ext/libmemcached-0.32/docs/memerror.pod", "ext/libmemcached-0.32/docs/memflush.pod", "ext/libmemcached-0.32/docs/memrm.pod", "ext/libmemcached-0.32/docs/memslap.pod", "ext/libmemcached-0.32/docs/memstat.pod", "ext/libmemcached-0.32/libmemcached/Makefile.am", "ext/libmemcached-0.32/libmemcached/Makefile.in", "ext/libmemcached-0.32/libmemcached/byteorder.c", "ext/libmemcached-0.32/libmemcached/common.h", "ext/libmemcached-0.32/libmemcached/crc.c", "ext/libmemcached-0.32/libmemcached/hsieh_hash.c", "ext/libmemcached-0.32/libmemcached/jenkins_hash.c", "ext/libmemcached-0.32/libmemcached/libmemcached.ver", "ext/libmemcached-0.32/libmemcached/libmemcached_probes.d", "ext/libmemcached-0.32/libmemcached/libmemcached_probes.h", "ext/libmemcached-0.32/libmemcached/md5.c", "ext/libmemcached-0.32/libmemcached/memcached.c", "ext/libmemcached-0.32/libmemcached/memcached.h", "ext/libmemcached-0.32/libmemcached/memcached.hpp", "ext/libmemcached-0.32/libmemcached/memcached/README.txt", "ext/libmemcached-0.32/libmemcached/memcached/protocol_binary.h", "ext/libmemcached-0.32/libmemcached/memcached_allocators.c", "ext/libmemcached-0.32/libmemcached/memcached_analyze.c", "ext/libmemcached-0.32/libmemcached/memcached_auto.c", "ext/libmemcached-0.32/libmemcached/memcached_behavior.c", "ext/libmemcached-0.32/libmemcached/memcached_callback.c", "ext/libmemcached-0.32/libmemcached/memcached_configure.h.in", "ext/libmemcached-0.32/libmemcached/memcached_connect.c", "ext/libmemcached-0.32/libmemcached/memcached_constants.h", "ext/libmemcached-0.32/libmemcached/memcached_delete.c", "ext/libmemcached-0.32/libmemcached/memcached_do.c", "ext/libmemcached-0.32/libmemcached/memcached_dump.c", "ext/libmemcached-0.32/libmemcached/memcached_exist.c", "ext/libmemcached-0.32/libmemcached/memcached_exist.h", "ext/libmemcached-0.32/libmemcached/memcached_fetch.c", "ext/libmemcached-0.32/libmemcached/memcached_flush.c", "ext/libmemcached-0.32/libmemcached/memcached_flush_buffers.c", "ext/libmemcached-0.32/libmemcached/memcached_get.c", "ext/libmemcached-0.32/libmemcached/memcached_get.h", "ext/libmemcached-0.32/libmemcached/memcached_hash.c", "ext/libmemcached-0.32/libmemcached/memcached_hosts.c", "ext/libmemcached-0.32/libmemcached/memcached_internal.h", "ext/libmemcached-0.32/libmemcached/memcached_io.c", "ext/libmemcached-0.32/libmemcached/memcached_io.h", "ext/libmemcached-0.32/libmemcached/memcached_key.c", "ext/libmemcached-0.32/libmemcached/memcached_parse.c", "ext/libmemcached-0.32/libmemcached/memcached_pool.h", "ext/libmemcached-0.32/libmemcached/memcached_purge.c", "ext/libmemcached-0.32/libmemcached/memcached_quit.c", "ext/libmemcached-0.32/libmemcached/memcached_response.c", "ext/libmemcached-0.32/libmemcached/memcached_result.c", "ext/libmemcached-0.32/libmemcached/memcached_result.h", "ext/libmemcached-0.32/libmemcached/memcached_sasl.c", "ext/libmemcached-0.32/libmemcached/memcached_sasl.h", "ext/libmemcached-0.32/libmemcached/memcached_server.c", "ext/libmemcached-0.32/libmemcached/memcached_server.h", "ext/libmemcached-0.32/libmemcached/memcached_stats.c", "ext/libmemcached-0.32/libmemcached/memcached_storage.c", "ext/libmemcached-0.32/libmemcached/memcached_storage.h", "ext/libmemcached-0.32/libmemcached/memcached_strerror.c", "ext/libmemcached-0.32/libmemcached/memcached_string.c", "ext/libmemcached-0.32/libmemcached/memcached_string.h", "ext/libmemcached-0.32/libmemcached/memcached_touch.c", "ext/libmemcached-0.32/libmemcached/memcached_touch.h", "ext/libmemcached-0.32/libmemcached/memcached_types.h", "ext/libmemcached-0.32/libmemcached/memcached_util.h", "ext/libmemcached-0.32/libmemcached/memcached_verbosity.c", "ext/libmemcached-0.32/libmemcached/memcached_version.c", "ext/libmemcached-0.32/libmemcached/memcached_watchpoint.h", "ext/libmemcached-0.32/libmemcached/murmur_hash.c", "ext/libmemcached-0.32/libmemcached/visibility.h", "ext/libmemcached-0.32/libmemcachedutil/Makefile.am", "ext/libmemcached-0.32/libmemcachedutil/Makefile.in", "ext/libmemcached-0.32/libmemcachedutil/libmemcachedutil.ver", "ext/libmemcached-0.32/libmemcachedutil/memcached_pool.c", "ext/libmemcached-0.32/m4/ac_cxx_compile_stdcxx_0x.m4", "ext/libmemcached-0.32/m4/ac_cxx_header_stdcxx_98.m4", "ext/libmemcached-0.32/m4/acx_pthread.m4", "ext/libmemcached-0.32/m4/byteorder.m4", "ext/libmemcached-0.32/m4/deprecated.m4", "ext/libmemcached-0.32/m4/enable_utillib.m4", "ext/libmemcached-0.32/m4/extensions.m4", "ext/libmemcached-0.32/m4/hsieh.m4", "ext/libmemcached-0.32/m4/lib-prefix.m4", "ext/libmemcached-0.32/m4/libtool.m4", "ext/libmemcached-0.32/m4/ltoptions.m4", "ext/libmemcached-0.32/m4/ltsugar.m4", "ext/libmemcached-0.32/m4/ltversion.m4", "ext/libmemcached-0.32/m4/lt~obsolete.m4", "ext/libmemcached-0.32/m4/memcached.m4", "ext/libmemcached-0.32/m4/pandora_64bit.m4", "ext/libmemcached-0.32/m4/pandora_canonical.m4", "ext/libmemcached-0.32/m4/pandora_check_compiler_version.m4", "ext/libmemcached-0.32/m4/pandora_check_cxx_standard.m4", "ext/libmemcached-0.32/m4/pandora_enable_dtrace.m4", "ext/libmemcached-0.32/m4/pandora_ensure_gcc_version.m4", "ext/libmemcached-0.32/m4/pandora_have_better_malloc.m4", "ext/libmemcached-0.32/m4/pandora_have_sasl.m4", "ext/libmemcached-0.32/m4/pandora_header_assert.m4", "ext/libmemcached-0.32/m4/pandora_libtool.m4", "ext/libmemcached-0.32/m4/pandora_optimize.m4", "ext/libmemcached-0.32/m4/pandora_shared_ptr.m4", "ext/libmemcached-0.32/m4/pandora_vc_build.m4", "ext/libmemcached-0.32/m4/pandora_warnings.m4", "ext/libmemcached-0.32/m4/pod2man.m4", "ext/libmemcached-0.32/m4/protocol_binary.m4", "ext/libmemcached-0.32/m4/setsockopt.m4", "ext/libmemcached-0.32/m4/visibility.m4", "ext/libmemcached-0.32/support/Makefile.am", "ext/libmemcached-0.32/support/Makefile.in", "ext/libmemcached-0.32/support/libmemcached-fc.spec.in", "ext/libmemcached-0.32/support/libmemcached.pc.in", "ext/libmemcached-0.32/support/libmemcached.spec", "ext/libmemcached-0.32/support/libmemcached.spec.in", "ext/libmemcached-0.32/support/set_benchmark.sh", "ext/libmemcached-0.32/tests/Makefile.am", "ext/libmemcached-0.32/tests/Makefile.in", "ext/libmemcached-0.32/tests/atomsmasher.c", "ext/libmemcached-0.32/tests/function.c", "ext/libmemcached-0.32/tests/ketama_test_cases.h", "ext/libmemcached-0.32/tests/output.cmp", "ext/libmemcached-0.32/tests/output.res", "ext/libmemcached-0.32/tests/output2.res", "ext/libmemcached-0.32/tests/plus.cpp", "ext/libmemcached-0.32/tests/r/memcat.res", "ext/libmemcached-0.32/tests/r/memcp.res", "ext/libmemcached-0.32/tests/r/memrm.res", "ext/libmemcached-0.32/tests/r/memslap.res", "ext/libmemcached-0.32/tests/r/memstat.res", "ext/libmemcached-0.32/tests/server.c", "ext/libmemcached-0.32/tests/server.h", "ext/libmemcached-0.32/tests/start.c", "ext/libmemcached-0.32/tests/t/memcat.test", "ext/libmemcached-0.32/tests/t/memcp.test", "ext/libmemcached-0.32/tests/t/memrm.test", "ext/libmemcached-0.32/tests/t/memslap.test", "ext/libmemcached-0.32/tests/t/memstat.test", "ext/libmemcached-0.32/tests/test.c", "ext/libmemcached-0.32/tests/test.h", "ext/libmemcached-0.32/tests/udp.c", "ext/rlibmemcached.i", "ext/rlibmemcached_wrap.c", "lib/memcached.rb", "lib/memcached/auth.rb", "lib/memcached/behaviors.rb", "lib/memcached/exceptions.rb", "lib/memcached/experimental.rb", "lib/memcached/marshal_codec.rb", "lib/memcached/memcached.rb", "lib/memcached/rails.rb", "memcached.gemspec", "test/profile/benchmark.rb", "test/profile/c_profiler.rb", "test/profile/exercise.rb", "test/profile/rb_profiler.rb", "test/profile/valgrind.rb", "test/setup.rb", "test/teardown.rb", "test/test_helper.rb", "test/unit/binding_test.rb", "test/unit/memcached_experimental_test.rb", "test/unit/memcached_test.rb", "test/unit/rails_test.rb"]
16
16
  s.homepage = "http://evan.github.com/evan/memcached/"
17
17
  s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Memcached", "--main", "README.rdoc", "--exclude=ext/bin", "--exclude=ext/libmemcached-.*/(clients|tests)"]
18
18
  s.require_paths = ["lib", "ext"]
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: 1.5.1
4
+ version: 1.6.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -36,7 +36,7 @@ cert_chain:
36
36
  QUMzSFJXWnhJUzFzZm4vU3NxYTdFN29RTWt2NUZBWHIKeDVyS2VQZlhJTmY4
37
37
  WFRKY3prbDlPQkVZZEU5YU5kSnNKcFhEMGFzTGdHVndCSUNTNUJqb2hwNm1p
38
38
  ekpjREMxKwp5WjA9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K
39
- date: 2013-05-28 00:00:00.000000000 Z
39
+ date: 2013-06-10 00:00:00.000000000 Z
40
40
  dependencies:
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rake
@@ -351,6 +351,7 @@ files:
351
351
  - lib/memcached/behaviors.rb
352
352
  - lib/memcached/exceptions.rb
353
353
  - lib/memcached/experimental.rb
354
+ - lib/memcached/marshal_codec.rb
354
355
  - lib/memcached/memcached.rb
355
356
  - lib/memcached/rails.rb
356
357
  - memcached.gemspec
metadata.gz.sig CHANGED
Binary file