Lines Matching refs:kt
90 ketama_t *kt = (ketama_t *)ctx; in ketama_get_server() local
92 int highp = kt->total_buckets; in ketama_get_server()
102 if ( midp == kt->total_buckets ) in ketama_get_server()
103 return kt->continuum[0].id-1; // if at the end, roll back to zeroth in ketama_get_server()
105 midval = kt->continuum[midp].point; in ketama_get_server()
106 midval1 = midp == 0 ? 0 : kt->continuum[midp-1].point; in ketama_get_server()
109 return kt->continuum[midp].id-1; in ketama_get_server()
117 return kt->continuum[0].id-1; in ketama_get_server()
130 static void _add_server_default(ketama_t *kt, size_t hashstring_size, const char **parts, in _add_server_default() argument
136 kt->continuum[*cont].point = (unsigned int) XXH3_64bits(hashstring, len); in _add_server_default()
137 kt->continuum[*cont].id = id; in _add_server_default()
143 static void _add_server_ketama(ketama_t *kt, size_t hashstring_size, const char **parts, in _add_server_ketama() argument
161 kt->continuum[*cont].point = ( digest[3+h*4] << 24 ) in _add_server_ketama()
165 kt->continuum[*cont].id = id; in _add_server_ketama()
174 static void _add_server_twemproxy(ketama_t *kt, size_t hashstring_size, const char **parts, in _add_server_twemproxy() argument
198 kt->continuum[*cont].point = ( digest[3+h*4] << 24 ) in _add_server_twemproxy()
202 kt->continuum[*cont].id = id; in _add_server_twemproxy()
211 static void _add_server_evcache(ketama_t *kt, size_t hashstring_size, const char **parts, in _add_server_evcache() argument
228 kt->continuum[*cont].point = ( digest[3+h*4] << 24 ) in _add_server_evcache()
232 kt->continuum[*cont].id = id; in _add_server_evcache()
290 ketama_t *kt = lua_newuserdatauv(L, size, 0); in ketama_new() local
292 kt->total_buckets = bucket_size * total; in ketama_new()
326 _add_server_default(kt, hashstring_size, parts, bucket_size, id, &cont); in ketama_new()
329 _add_server_ketama(kt, hashstring_size, parts, bucket_size, id, &cont); in ketama_new()
332 _add_server_twemproxy(kt, hashstring_size, parts, bucket_size, id, &cont); in ketama_new()
338 _add_server_evcache(kt, hashstring_size, parts, bucket_size, id, &cont); in ketama_new()
346 qsort( &kt->continuum, cont, sizeof(cpoint), ketama_compare); in ketama_new()
349 kt->phc.ctx = kt; in ketama_new()
350 kt->phc.selector_func = ketama_get_server; in ketama_new()
353 lua_pushlightuserdata(L, &kt->phc); in ketama_new()