зеркало из https://github.com/github/memcached.git
Add more options
This commit is contained in:
Родитель
38e8854700
Коммит
eda665cfe4
|
@ -144,6 +144,21 @@ But it was #{servers.inspect}.
|
|||
end
|
||||
|
||||
def normalize_behaviors(options)
|
||||
# UDP requires noreply
|
||||
options[:noreply] = true if options[:use_udp]
|
||||
|
||||
# Buffering requires non-blocking
|
||||
# FIXME This should all be wrapped up in a single :pipeline option.
|
||||
options[:no_block] = true if options[:buffer_requests]
|
||||
|
||||
# Disallow weights without ketama
|
||||
options.delete(:ketama_weighted) if options[:distribution] != :consistent_ketama
|
||||
|
||||
# Disallow :sort_hosts with consistent hashing
|
||||
if options[:sort_hosts] && options[:distribution] == :consistent
|
||||
raise ArgumentError, ":sort_hosts defeats :consistent hashing"
|
||||
end
|
||||
|
||||
if timeout = options.delete(:timeout)
|
||||
options[:rcv_timeout] ||= timeout
|
||||
options[:snd_timeout] ||= timeout
|
||||
|
|
|
@ -88,11 +88,18 @@ class ClientInitializeTest < BaseTest
|
|||
assert_raises(ArgumentError) { Memcached::Client.new "local host:43043:1" }
|
||||
end
|
||||
|
||||
# def test_initialize_with_invalid_options
|
||||
# assert_raise(ArgumentError) do
|
||||
# Memcached.new @servers, :sort_hosts => true, :distribution => :consistent
|
||||
# end
|
||||
# end
|
||||
def test_initialize_with_sort_host_and_consistent_distribution
|
||||
assert_raises(ArgumentError) do
|
||||
Memcached::Client.new @servers, :sort_hosts => true, :distribution => :consistent
|
||||
end
|
||||
end
|
||||
|
||||
def test_initialize_with_invalid_options
|
||||
assert_raises(ArgumentError) do
|
||||
client = Memcached::Client.new @servers, foo: true
|
||||
client.connection
|
||||
end
|
||||
end
|
||||
|
||||
# def test_initialize_with_invalid_prefix_key
|
||||
# assert_raises(ArgumentError) do
|
||||
|
@ -100,11 +107,6 @@ class ClientInitializeTest < BaseTest
|
|||
# client.connection
|
||||
# end
|
||||
# end
|
||||
|
||||
# def test_initialize_without_prefix_key
|
||||
# cache = Memcached.new @servers
|
||||
# assert_equal 3, cache.send(:server_structs).size
|
||||
# end
|
||||
#
|
||||
# def test_set_prefix_key
|
||||
# cache = Memcached.new @servers, :prefix_key => "foo"
|
||||
|
|
Загрузка…
Ссылка в новой задаче