File: ketama.hpp

package info (click to toggle)
libmemcached 1.1.4-1.1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 4,292 kB
  • sloc: cpp: 36,466; ansic: 9,275; yacc: 448; lex: 203; sh: 75; makefile: 26
file content (230 lines) | stat: -rw-r--r-- 12,992 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
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
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
/*
    +--------------------------------------------------------------------+
    | libmemcached - C/C++ Client Library for memcached                  |
    +--------------------------------------------------------------------+
    | Redistribution and use in source and binary forms, with or without |
    | modification, are permitted under the terms of the BSD license.    |
    | You should have received a copy of the license in a bundled file   |
    | named LICENSE; in case you did not receive a copy you can review   |
    | the terms online at: https://opensource.org/licenses/BSD-3-Clause  |
    +--------------------------------------------------------------------+
    | Copyright (c) 2006-2014 Brian Aker   https://datadifferential.com/ |
    | Copyright (c) 2020 Michael Wallner   <mike@php.net>                |
    +--------------------------------------------------------------------+
*/

#pragma once

static struct {
  const char *key;
  unsigned long hash1;
  unsigned long hash2;
  const char *server;
} ketama_test_cases[99] = {
    {"SVa_]_V41)", 443691461UL, 445379617UL, "10.0.1.7"},
    {"*/Z;?V(.\\8", 1422915503UL, 1428303028UL, "10.0.1.1"},
    {"30C1*Z*S/_", 1473165754UL, 1480075959UL, "10.0.1.2"},
    {"ERR:EC58G>", 2148406511UL, 2168579133UL, "10.0.1.7"},
    {"1I=cTMNTKF", 2882686667UL, 2885206587UL, "10.0.1.5"},
    {"]VG<`I*Z8)", 1103544263UL, 1104827657UL, "10.0.1.5"},
    {"UUTC`-V159", 3716288206UL, 3727224240UL, "10.0.1.5"},
    {"@7RU6C6T+Z", 3862737685UL, 3871917949UL, "10.0.1.5"},
    {"/XLN0@+36;", 1623269830UL, 1627683651UL, "10.0.1.1"},
    {"4(`X;\\V.^c", 373546328UL, 383925769UL, "10.0.1.1"},
    {"726bW=9*a4", 4213440020UL, 4213950705UL, "10.0.1.7"},
    {"\\`)<B)UE,c", 951096736UL, 955226069UL, "10.0.1.1"},
    {"P1[Ma3=K1/", 1989324036UL, 1994028240UL, "10.0.1.8"},
    {"C89I.-V?cT", 1604239957UL, 1606398093UL, "10.0.1.8"},
    {"D[HE+cFXDK", 2117036136UL, 2117124014UL, "10.0.1.3"},
    {"P1L?NAB[)K", 2129972569UL, 2132542634UL, "10.0.1.1"},
    {"cDT0)Z5P6,", 176485284UL, 178675413UL, "10.0.1.5"},
    {"@JW`+[WAO8", 2720940826UL, 2743975456UL, "10.0.1.5"},
    {"\\39DKW^)N_", 3548879868UL, 3550704865UL, "10.0.1.3"},
    {"EM75N0+[X1", 1558531507UL, 1559308507UL, "10.0.1.4"},
    {"`,SS]NBP,b", 1883545960UL, 1884847278UL, "10.0.1.1"},
    {"XX1a9LT+F?", 653487707UL, 656410408UL, "10.0.1.5"},
    {"Zc\\-,F-c6V", 1160802451UL, 1171575728UL, "10.0.1.5"},
    {"1*RTMC7,03", 1602398012UL, 1606398093UL, "10.0.1.8"},
    {"*Xc+V0P>32", 536016577UL, 539988520UL, "10.0.1.7"},
    {"U))Fb-(`,.", 4128682289UL, 4136854163UL, "10.0.1.7"},
    {"R-08RNTaRT", 3718170086UL, 3727224240UL, "10.0.1.5"},
    {"(LHcO203I3", 1007779411UL, 1014643570UL, "10.0.1.5"},
    {"=256P+;Qc8", 3976201210UL, 3976304873UL, "10.0.1.5"},
    {"OI5XZ_BBT(", 2155922164UL, 2168579133UL, "10.0.1.7"},
    {"2TLRL/UL;:", 1086800909UL, 1095659802UL, "10.0.1.7"},
    {"WHD\\O1`ZRW", 3087923411UL, 3095471560UL, "10.0.1.5"},
    {".=54)_c;=T", 2497691631UL, 2502731301UL, "10.0.1.1"},
    {";G<W-XWZ@b", 2888169733UL, 2888728739UL, "10.0.1.5"},
    {"(,>E`)FT\\4", 580747448UL, 581063326UL, "10.0.1.2"},
    {"HZAU*;P*N]", 2564670474UL, 2565697267UL, "10.0.1.7"},
    {"NZ@ZE=O84_", 533335275UL, 539988520UL, "10.0.1.7"},
    {"6,cEI`F_P>", 3972869246UL, 3974773167UL, "10.0.1.6"},
    {"c,5AQ/T5)6", 2835605783UL, 2847870057UL, "10.0.1.8"},
    {".O,>>BT)RX", 3857978174UL, 3871917949UL, "10.0.1.5"},
    {"XY\\X::LX50", 1749241099UL, 1752196488UL, "10.0.1.6"},
    {"+550F^/.01", 3781824099UL, 3783248219UL, "10.0.1.6"},
    {"<.X9E2S5+9", 3232479481UL, 3234387706UL, "10.0.1.7"},
    {"]\\.UH8_0a1", 2419699252UL, 2423002920UL, "10.0.1.4"},
    {"8(6=(T0/Z0", 728266737UL, 729026070UL, "10.0.1.7"},
    {"8*6a;Sc*X+", 4223431086UL, 4230156966UL, "10.0.1.2"},
    {"<QW:;3K6;H", 2731158143UL, 2743975456UL, "10.0.1.5"},
    {"7C@EY@-Y?_", 760770733UL, 761576669UL, "10.0.1.5"},
    {"aPb3E1WD4K", 2500489218UL, 2502731301UL, "10.0.1.1"},
    {"?@12R<=1BH", 1494795329UL, 1502505505UL, "10.0.1.8"},
    {"QR(a+Q=1FU", 3238535074UL, 3238996435UL, "10.0.1.6"},
    {"`C9^FV,960", 2628553463UL, 2628733766UL, "10.0.1.6"},
    {"UNHVP..^8H", 977096483UL, 977319837UL, "10.0.1.4"},
    {":Y.2W2[(35", 2777083668UL, 2784182515UL, "10.0.1.7"},
    {"M/HV^_HZ4O", 3623390946UL, 3624445007UL, "10.0.1.7"},
    {"ZY16KQ<ICD", 1831153193UL, 1838563516UL, "10.0.1.4"},
    {"bV2,`a.PY9", 1962228869UL, 1962648654UL, "10.0.1.1"},
    {"U;9:-+5N]9", 269504649UL, 277560877UL, "10.0.1.1"},
    {"1S/:aJ[1(;", 578069729UL, 581063326UL, "10.0.1.2"},
    {"Nb-X^]M)I:", 330865696UL, 331009896UL, "10.0.1.6"},
    {"2;M;ES>J5/", 2776949824UL, 2784182515UL, "10.0.1.7"},
    {"[>RZHG97Q9", 71954686UL, 72034069UL, "10.0.1.6"},
    {"J3/G[)9<^Z", 2799896459UL, 2805183696UL, "10.0.1.7"},
    {"N-)88>[O`,", 50404102UL, 51792557UL, "10.0.1.5"},
    {"NP:=FR\\OaA", 3837333776UL, 3837792034UL, "10.0.1.7"},
    {"`@L+W;a,O[", 1512157148UL, 1522285852UL, "10.0.1.6"},
    {"W2`P:-+1T[", 2945171975UL, 2946196424UL, "10.0.1.5"},
    {"-6G7K^YDIN", 3168617340UL, 3170513015UL, "10.0.1.7"},
    {"U>*>9ZI6V5", 668514946UL, 674097631UL, "10.0.1.6"},
    {".I?^6Ic9RK", 938419020UL, 942832691UL, "10.0.1.6"},
    {"0OZH^9BKM[", 3682518606UL, 3686781297UL, "10.0.1.8"},
    {"5?50UGZ:ML", 868610882UL, 869425986UL, "10.0.1.5"},
    {"?K2NF@3=IU", 381218851UL, 383925769UL, "10.0.1.1"},
    {"YI@G-2X?UB", 3688706179UL, 3693197681UL, "10.0.1.5"},
    {"7cY</BSaL=", 3976870223UL, 3978903843UL, "10.0.1.6"},
    {"A(`KF:[RH8", 3292979676UL, 3294849139UL, "10.0.1.6"},
    {";=ZT\\W^P+H", 1401102653UL, 1416290674UL, "10.0.1.4"},
    {"b2?WFF56;R", 480494704UL, 486971192UL, "10.0.1.4"},
    {"CTR74,J+N.", 137446045UL, 146633907UL, "10.0.1.8"},
    {"<b;*R+QDST", 1304985302UL, 1308223778UL, "10.0.1.5"},
    {"\\R^7=9UCG`", 126218373UL, 129199837UL, "10.0.1.5"},
    {"1bQS5]WOXB", 1853470245UL, 1855329369UL, "10.0.1.4"},
    {"M(@X^b[L:K", 3019630308UL, 3022260113UL, "10.0.1.1"},
    {"431cBF8,YO", 1679726993UL, 1685224295UL, "10.0.1.7"},
    {"(bEIQJ:E./", 2922607787UL, 2925521819UL, "10.0.1.6"},
    {"WS/3H*)7F;", 419488232UL, 422140585UL, "10.0.1.5"},
    {"ZJF[Ia6Q)+", 3960568056UL, 3962489998UL, "10.0.1.7"},
    {"<]*QCK8U,>", 2590140172UL, 2598117636UL, "10.0.1.7"},
    {"\\[a\\^=V_M0", 689410119UL, 698690782UL, "10.0.1.6"},
    {"7;RM+8J9YC", 1530175299UL, 1531107082UL, "10.0.1.7"},
    {"4*=.SPR[AV", 3928582722UL, 3928853792UL, "10.0.1.1"},
    {"-2F+^88P4U", 3023552752UL, 3025823613UL, "10.0.1.7"},
    {"X;-F`(N?9D", 570465234UL, 572485994UL, "10.0.1.7"},
    {"R=F_D-K2a]", 1287750228UL, 1290935562UL, "10.0.1.7"},
    {"X*+2aaC.EG", 3200948713UL, 3201088518UL, "10.0.1.5"},
    {"[1ZXONX2]a", 4108881567UL, 4109865744UL, "10.0.1.4"},
    {"FL;\\GWacaV", 458449508UL, 467374054UL, "10.0.1.4"},
    {"\\MQ_XNT7L-", 1259349383UL, 1259509450UL, "10.0.1.7"},
    {"VD6D0]ba_\\", 3842502950UL, 3842588691UL, "10.0.1.1"},
};

static struct {
  const char *key;
  unsigned long hash1;
  unsigned long hash2;
  const char *server;
} ketama_test_cases_spy[99] = {
    {"SVa_]_V41)", 443691461UL, 445379617UL, "10.0.1.2"},
    {"*/Z;?V(.\\8", 1422915503UL, 1428303028UL, "10.0.1.4"},
    {"30C1*Z*S/_", 1473165754UL, 1480075959UL, "10.0.1.2"},
    {"ERR:EC58G>", 2148406511UL, 2168579133UL, "10.0.1.7"},
    {"1I=cTMNTKF", 2882686667UL, 2885206587UL, "10.0.1.4"},
    {"]VG<`I*Z8)", 1103544263UL, 1104827657UL, "10.0.1.5"},
    {"UUTC`-V159", 3716288206UL, 3727224240UL, "10.0.1.7"},
    {"@7RU6C6T+Z", 3862737685UL, 3871917949UL, "10.0.1.6"},
    {"/XLN0@+36;", 1623269830UL, 1627683651UL, "10.0.1.7"},
    {"4(`X;\\V.^c", 373546328UL, 383925769UL, "10.0.1.6"},
    {"726bW=9*a4", 4213440020UL, 4213950705UL, "10.0.1.3"},
    {"\\`)<B)UE,c", 951096736UL, 955226069UL, "10.0.1.8"},
    {"P1[Ma3=K1/", 1989324036UL, 1994028240UL, "10.0.1.1"},
    {"C89I.-V?cT", 1604239957UL, 1606398093UL, "10.0.1.5"},
    {"D[HE+cFXDK", 2117036136UL, 2117124014UL, "10.0.1.5"},
    {"P1L?NAB[)K", 2129972569UL, 2132542634UL, "10.0.1.7"},
    {"cDT0)Z5P6,", 176485284UL, 178675413UL, "10.0.1.1"},
    {"@JW`+[WAO8", 2720940826UL, 2743975456UL, "10.0.1.2"},
    {"\\39DKW^)N_", 3548879868UL, 3550704865UL, "10.0.1.6"},
    {"EM75N0+[X1", 1558531507UL, 1559308507UL, "10.0.1.5"},
    {"`,SS]NBP,b", 1883545960UL, 1884847278UL, "10.0.1.1"},
    {"XX1a9LT+F?", 653487707UL, 656410408UL, "10.0.1.6"},
    {"Zc\\-,F-c6V", 1160802451UL, 1171575728UL, "10.0.1.6"},
    {"1*RTMC7,03", 1602398012UL, 1606398093UL, "10.0.1.5"},
    {"*Xc+V0P>32", 536016577UL, 539988520UL, "10.0.1.7"},
    {"U))Fb-(`,.", 4128682289UL, 4136854163UL, "10.0.1.7"},
    {"R-08RNTaRT", 3718170086UL, 3727224240UL, "10.0.1.5"},
    {"(LHcO203I3", 1007779411UL, 1014643570UL, "10.0.1.1"},
    {"=256P+;Qc8", 3976201210UL, 3976304873UL, "10.0.1.3"},
    {"OI5XZ_BBT(", 2155922164UL, 2168579133UL, "10.0.1.5"},
    {"2TLRL/UL;:", 1086800909UL, 1095659802UL, "10.0.1.2"},
    {"WHD\\O1`ZRW", 3087923411UL, 3095471560UL, "10.0.1.1"},
    {".=54)_c;=T", 2497691631UL, 2502731301UL, "10.0.1.6"},
    {";G<W-XWZ@b", 2888169733UL, 2888728739UL, "10.0.1.7"},
    {"(,>E`)FT\\4", 580747448UL, 581063326UL, "10.0.1.5"},
    {"HZAU*;P*N]", 2564670474UL, 2565697267UL, "10.0.1.1"},
    {"NZ@ZE=O84_", 533335275UL, 539988520UL, "10.0.1.7"},
    {"6,cEI`F_P>", 3972869246UL, 3974773167UL, "10.0.1.3"},
    {"c,5AQ/T5)6", 2835605783UL, 2847870057UL, "10.0.1.7"},
    {".O,>>BT)RX", 3857978174UL, 3871917949UL, "10.0.1.7"},
    {"XY\\X::LX50", 1749241099UL, 1752196488UL, "10.0.1.7"},
    {"+550F^/.01", 3781824099UL, 3783248219UL, "10.0.1.2"},
    {"<.X9E2S5+9", 3232479481UL, 3234387706UL, "10.0.1.7"},
    {"]\\.UH8_0a1", 2419699252UL, 2423002920UL, "10.0.1.6"},
    {"8(6=(T0/Z0", 728266737UL, 729026070UL, "10.0.1.6"},
    {"8*6a;Sc*X+", 4223431086UL, 4230156966UL, "10.0.1.5"},
    {"<QW:;3K6;H", 2731158143UL, 2743975456UL, "10.0.1.7"},
    {"7C@EY@-Y?_", 760770733UL, 761576669UL, "10.0.1.5"},
    {"aPb3E1WD4K", 2500489218UL, 2502731301UL, "10.0.1.2"},
    {"?@12R<=1BH", 1494795329UL, 1502505505UL, "10.0.1.1"},
    {"QR(a+Q=1FU", 3238535074UL, 3238996435UL, "10.0.1.5"},
    {"`C9^FV,960", 2628553463UL, 2628733766UL, "10.0.1.3"},
    {"UNHVP..^8H", 977096483UL, 977319837UL, "10.0.1.6"},
    {":Y.2W2[(35", 2777083668UL, 2784182515UL, "10.0.1.6"},
    {"M/HV^_HZ4O", 3623390946UL, 3624445007UL, "10.0.1.4"},
    {"ZY16KQ<ICD", 1831153193UL, 1838563516UL, "10.0.1.7"},
    {"bV2,`a.PY9", 1962228869UL, 1962648654UL, "10.0.1.7"},
    {"U;9:-+5N]9", 269504649UL, 277560877UL, "10.0.1.2"},
    {"1S/:aJ[1(;", 578069729UL, 581063326UL, "10.0.1.5"},
    {"Nb-X^]M)I:", 330865696UL, 331009896UL, "10.0.1.3"},
    {"2;M;ES>J5/", 2776949824UL, 2784182515UL, "10.0.1.6"},
    {"[>RZHG97Q9", 71954686UL, 72034069UL, "10.0.1.4"},
    {"J3/G[)9<^Z", 2799896459UL, 2805183696UL, "10.0.1.6"},
    {"N-)88>[O`,", 50404102UL, 51792557UL, "10.0.1.2"},
    {"NP:=FR\\OaA", 3837333776UL, 3837792034UL, "10.0.1.7"},
    {"`@L+W;a,O[", 1512157148UL, 1522285852UL, "10.0.1.5"},
    {"W2`P:-+1T[", 2945171975UL, 2946196424UL, "10.0.1.7"},
    {"-6G7K^YDIN", 3168617340UL, 3170513015UL, "10.0.1.5"},
    {"U>*>9ZI6V5", 668514946UL, 674097631UL, "10.0.1.5"},
    {".I?^6Ic9RK", 938419020UL, 942832691UL, "10.0.1.6"},
    {"0OZH^9BKM[", 3682518606UL, 3686781297UL, "10.0.1.2"},
    {"5?50UGZ:ML", 868610882UL, 869425986UL, "10.0.1.6"},
    {"?K2NF@3=IU", 381218851UL, 383925769UL, "10.0.1.6"},
    {"YI@G-2X?UB", 3688706179UL, 3693197681UL, "10.0.1.6"},
    {"7cY</BSaL=", 3976870223UL, 3978903843UL, "10.0.1.7"},
    {"A(`KF:[RH8", 3292979676UL, 3294849139UL, "10.0.1.6"},
    {";=ZT\\W^P+H", 1401102653UL, 1416290674UL, "10.0.1.6"},
    {"b2?WFF56;R", 480494704UL, 486971192UL, "10.0.1.7"},
    {"CTR74,J+N.", 137446045UL, 146633907UL, "10.0.1.7"},
    {"<b;*R+QDST", 1304985302UL, 1308223778UL, "10.0.1.5"},
    {"\\R^7=9UCG`", 126218373UL, 129199837UL, "10.0.1.6"},
    {"1bQS5]WOXB", 1853470245UL, 1855329369UL, "10.0.1.7"},
    {"M(@X^b[L:K", 3019630308UL, 3022260113UL, "10.0.1.4"},
    {"431cBF8,YO", 1679726993UL, 1685224295UL, "10.0.1.1"},
    {"(bEIQJ:E./", 2922607787UL, 2925521819UL, "10.0.1.7"},
    {"WS/3H*)7F;", 419488232UL, 422140585UL, "10.0.1.3"},
    {"ZJF[Ia6Q)+", 3960568056UL, 3962489998UL, "10.0.1.5"},
    {"<]*QCK8U,>", 2590140172UL, 2598117636UL, "10.0.1.5"},
    {"\\[a\\^=V_M0", 689410119UL, 698690782UL, "10.0.1.7"},
    {"7;RM+8J9YC", 1530175299UL, 1531107082UL, "10.0.1.7"},
    {"4*=.SPR[AV", 3928582722UL, 3928853792UL, "10.0.1.3"},
    {"-2F+^88P4U", 3023552752UL, 3025823613UL, "10.0.1.7"},
    {"X;-F`(N?9D", 570465234UL, 572485994UL, "10.0.1.5"},
    {"R=F_D-K2a]", 1287750228UL, 1290935562UL, "10.0.1.1"},
    {"X*+2aaC.EG", 3200948713UL, 3201088518UL, "10.0.1.3"},
    {"[1ZXONX2]a", 4108881567UL, 4109865744UL, "10.0.1.7"},
    {"FL;\\GWacaV", 458449508UL, 467374054UL, "10.0.1.7"},
    {"\\MQ_XNT7L-", 1259349383UL, 1259509450UL, "10.0.1.5"},
    {"VD6D0]ba_\\", 3842502950UL, 3842588691UL, "10.0.1.7"},
};