24RCSIDH(fr_rb_expire_h, 
"$Id: 5789be97b2c4dbf2276a396a2975bbf357aceac1 $")
 
   30#include <freeradius-devel/util/rb.h> 
   31#include <freeradius-devel/util/dlist.h> 
   50#define fr_rb_expire_inline_talloc_init(_expire, _type, _field, _data_cmp, _data_free, _lifetime) \ 
   52                fr_rb_inline_talloc_init(&(_expire)->tree, _type, _field.node, _data_cmp, _data_free); \ 
   53                fr_dlist_init(&(_expire)->head, _type, _field.entry); \ 
   54                (_expire)->lifetime = _lifetime; \ 
   55                (_expire)->last_expiry = fr_time(); \ 
 
Head of a doubly linked list.
Entry in a doubly linked list.
The main red black tree structure.
bool fr_rb_expire_insert(fr_rb_expire_t *expire, void *data, fr_time_t now)
Attempt to find current data in the tree, if it does not exist insert it.
void fr_rb_expire_update(fr_rb_expire_t *expire, void *data, fr_time_t now)
dlist for expiring old entries
A time delta, a difference in time measured in nanoseconds.