35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
|
# File 'lib/memcached_test/server.rb', line 35
def process_entry(input, client)
case input
when Commands_format.get
keys = $~['keys'].split(' ')
resultados = @memcached.get(keys)
if resultados != [] && resultados.is_a?(Array)
resultados.each do |resultado|
client.puts ("VALUE #{resultado[0]} #{resultado[1]} #{resultado[3]}\r\n#{resultado[4]}\r\n")
end
client.puts ("END\r\n")
elsif resultados != [] && !resultados.is_a?(Array)
client.puts ("VALUE #{resultados[0]} #{resultados[1]} #{resultados[3]}\r\n#{resultados[4]}\r\n")
client.puts ("END\r\n")
else
client.puts ("NOT_FOUND\r\n")
end
when Commands_format.gets
keys = $~['keys'].split(' ')
resultados = @memcached.gets(keys)
if resultados != [] && resultados.is_a?(Array)
resultados.each do |resultado|
client.puts ("VALUE #{resultado[0]} #{resultado[1]} #{resultado[3]} #{resultado[4]}\r\n#{resultado[5]}\r\n")
end
client.puts ("END\r\n")
elsif resultados != [] && !resultados.is_a?(Array)
client.puts ("VALUE #{resultados[0]} #{resultados[1]} #{resultados[3]} #{resultado[4]}\r\n#{resultados[5]}\r\n")
client.puts ("END\r\n")
else
client.puts ("NOT_FOUND\r\n")
end
when Commands_format.set
key, flags, exptime, bytes, noreply, cas = self.pass_parameters($~)
data = client.gets.chomp
response = @memcached.set(key, flags, exptime, bytes, data)
client.puts response unless noreply
when Commands_format.add
key, flags, exptime, bytes, noreply, cas = self.pass_parameters($~)
data = client.gets.chomp
response = @memcached.add(key, flags, exptime, bytes, data)
client.puts response unless noreply
when Commands_format.replace
key, flags, exptime, bytes, noreply, cas = self.pass_parameters($~)
data = client.gets.chomp
response = @memcached.replace(key, flags, exptime, bytes, data)
client.puts response unless noreply
when Commands_format.append
key, flags, exptime, bytes, noreply, cas = self.pass_parameters($~)
data = client.gets.chomp
response = @memcached.append(key, bytes, data)
client.puts response unless noreply
when Commands_format.prepend
key, flags, exptime, bytes, noreply, cas = self.pass_parameters($~)
data = client.gets.chomp
response = @memcached.prepend(key, bytes, data)
client.puts response unless noreply
when Commands_format.cas
key, flags, exptime, bytes, noreply, cas = self.pass_parameters($~)
data = client.gets.chomp
response = @memcached.cas(key, flags, exptime, bytes, cas, data)
client.puts response unless noreply
when Commands_format.flush_all
response = @memcached.flush_all()
client.puts response if $~['noreply'].nil?
else
client.puts "ERROR\r\n"
end
end
|