| librfn
    An ad-hoc utility library | 
#include <assert.h>#include <stdbool.h>#include <stddef.h>#include <stdlib.h>#include <stdint.h>Go to the source code of this file.
| Data Structures | |
| struct | ratelimit_state_t | 
| Control structure used for rate limiting.  More... | |
| Macros | |
| #define | containerof(ptr, type, member) ((type *) (((char *) ptr) - offsetof(type, member))) | 
| #define | lengthof(x) ((sizeof(x) / sizeof(*(x)))) | 
| #define | verify(x) assert(x) | 
| #define | RATELIMIT_TO(n, window, fn) | 
| Ratelimit a single expression.  More... | |
| #define | RATELIMIT(fn) RATELIMIT_TO(3, 10, fn) | 
| Ratelimit a single expression using default ratelimiter values.  More... | |
| Functions | |
| int32_t | cyclecmp32 (uint32_t a, uint32_t b) | 
| Compares values that may be subject to overflow.  More... | |
| bool | ratelimit_check (ratelimit_state_t *rs, uint32_t n, uint32_t window) | 
| Check that the rate limiter has not triggered.  More... | |
| void | rf_internal_out_of_memory (void) | 
| void * | xmalloc (size_t sz) | 
 1.8.10
 1.8.10