Sha256: bf8a07fffef07978e79b690cc0331844438e468fbc920e1d521fe140b2950c0b

Contents?: true

Size: 896 Bytes

Versions: 21

Compression:

Stored size: 896 Bytes

Contents

class Memcached
  module Experimental
  
    def get_len(bytes, keys)
      if keys.is_a? ::Array
        # Multi get
        ret = Lib.memcached_mget_len(@struct, keys, bytes);
        check_return_code(ret, keys)
  
        hash = {}
        keys.each do
          value, key, flags, ret = Lib.memcached_fetch_rvalue(@struct)
          break if ret == Lib::MEMCACHED_END
          if ret != Lib::MEMCACHED_NOTFOUND
            check_return_code(ret, key)
            # Assign the value
            hash[key] = value
          end
        end
        hash
      else
        # Single get_len
        value, flags, ret = Lib.memcached_get_len_rvalue(@struct, keys, bytes)
        check_return_code(ret, keys)
        value
      end
    rescue => e
      tries ||= 0
      raise unless tries < options[:exception_retry_limit] && should_retry(e)
      tries += 1
      retry
    end
    
  end
end

Version data entries

21 entries across 21 versions & 1 rubygems

Version Path
memcached-1.2.7 lib/memcached/experimental.rb
memcached-1.2.6 lib/memcached/experimental.rb
memcached-1.2.6.pre2 lib/memcached/experimental.rb
memcached-1.2.6.pre lib/memcached/experimental.rb
memcached-1.2.5 lib/memcached/experimental.rb
memcached-1.2.4.pre lib/memcached/experimental.rb
memcached-1.2.3 lib/memcached/experimental.rb
memcached-1.2.2 lib/memcached/experimental.rb
memcached-1.2.1 lib/memcached/experimental.rb
memcached-1.2 lib/memcached/experimental.rb
memcached-1.1.3 lib/memcached/experimental.rb
memcached-1.1.2 lib/memcached/experimental.rb
memcached-1.1.1 lib/memcached/experimental.rb
memcached-1.1 lib/memcached/experimental.rb
memcached-1.0.7 lib/memcached/experimental.rb
memcached-1.0.6 lib/memcached/experimental.rb
memcached-1.0.5 lib/memcached/experimental.rb
memcached-1.0.2 lib/memcached/experimental.rb
memcached-1.0.1 lib/memcached/experimental.rb
memcached-1 lib/memcached/experimental.rb