xref: /unit/src/nxt_hash.h (revision 0:a63ceefd6ab0)
1*0Sigor@sysoev.ru 
2*0Sigor@sysoev.ru /*
3*0Sigor@sysoev.ru  * Copyright (C) Igor Sysoev
4*0Sigor@sysoev.ru  * Copyright (C) NGINX, Inc.
5*0Sigor@sysoev.ru  */
6*0Sigor@sysoev.ru 
7*0Sigor@sysoev.ru #ifndef _NXT_HASH_H_INCLUDED_
8*0Sigor@sysoev.ru #define _NXT_HASH_H_INCLUDED_
9*0Sigor@sysoev.ru 
10*0Sigor@sysoev.ru 
11*0Sigor@sysoev.ru typedef struct {
12*0Sigor@sysoev.ru     nxt_lvlhsh_t              lvlhsh;
13*0Sigor@sysoev.ru     const nxt_lvlhsh_proto_t  *proto;
14*0Sigor@sysoev.ru     void                      *pool;
15*0Sigor@sysoev.ru } nxt_hash_t;
16*0Sigor@sysoev.ru 
17*0Sigor@sysoev.ru 
18*0Sigor@sysoev.ru nxt_inline nxt_int_t
nxt_hash_find(nxt_hash_t * h,nxt_lvlhsh_query_t * lhq)19*0Sigor@sysoev.ru nxt_hash_find(nxt_hash_t *h, nxt_lvlhsh_query_t *lhq)
20*0Sigor@sysoev.ru {
21*0Sigor@sysoev.ru     lhq->proto = h->proto;
22*0Sigor@sysoev.ru 
23*0Sigor@sysoev.ru     return nxt_lvlhsh_find(&h->lvlhsh, lhq);
24*0Sigor@sysoev.ru }
25*0Sigor@sysoev.ru 
26*0Sigor@sysoev.ru 
27*0Sigor@sysoev.ru nxt_inline nxt_int_t
nxt_hash_insert(nxt_hash_t * h,nxt_lvlhsh_query_t * lhq)28*0Sigor@sysoev.ru nxt_hash_insert(nxt_hash_t *h, nxt_lvlhsh_query_t *lhq)
29*0Sigor@sysoev.ru {
30*0Sigor@sysoev.ru     lhq->proto = h->proto;
31*0Sigor@sysoev.ru     lhq->pool = h->pool;
32*0Sigor@sysoev.ru 
33*0Sigor@sysoev.ru     return nxt_lvlhsh_insert(&h->lvlhsh, lhq);
34*0Sigor@sysoev.ru }
35*0Sigor@sysoev.ru 
36*0Sigor@sysoev.ru 
37*0Sigor@sysoev.ru nxt_inline nxt_int_t
nxt_hash_delete(nxt_hash_t * h,nxt_lvlhsh_query_t * lhq)38*0Sigor@sysoev.ru nxt_hash_delete(nxt_hash_t *h, nxt_lvlhsh_query_t *lhq)
39*0Sigor@sysoev.ru {
40*0Sigor@sysoev.ru     lhq->proto = h->proto;
41*0Sigor@sysoev.ru     lhq->pool = h->pool;
42*0Sigor@sysoev.ru 
43*0Sigor@sysoev.ru     return nxt_lvlhsh_delete(&h->lvlhsh, lhq);
44*0Sigor@sysoev.ru }
45*0Sigor@sysoev.ru 
46*0Sigor@sysoev.ru 
47*0Sigor@sysoev.ru #endif /* _NXT_HASH_H_INCLUDED_ */
48