|
| static int | cache_acquire (rlm_cache_handle_t **out, rlm_cache_t const *inst, request_t *request) |
| | Get exclusive use of a handle to access the cache.
|
| |
| static rlm_cache_entry_t * | cache_alloc (rlm_cache_t const *inst, request_t *request) |
| | Allocate a cache entry.
|
| |
| static unlang_action_t | cache_expire (unlang_result_t *p_result, void **rctx_out, rlm_cache_t const *inst, request_t *request, rlm_cache_handle_t **handle, fr_value_box_t const *key) |
| | Expire a cache entry (removing it from the datastore)
|
| |
| static void | cache_expire_cancel (module_ctx_t const *mctx, request_t *request, UNUSED fr_signal_t action) |
| |
| static unlang_action_t | cache_expire_resume (unlang_result_t *p_result, rlm_cache_t const *inst, request_t *request, rlm_cache_handle_t **handle, void *rctx) |
| | Resume callback after async cache expire.
|
| |
| static unlang_action_t | cache_find (unlang_result_t *p_result, rlm_cache_entry_t **out, void **out_rctx, rlm_cache_t const *inst, request_t *request, rlm_cache_handle_t **handle, fr_value_box_t const *key) |
| | Find a cached entry.
|
| |
| static void | cache_find_cancel (module_ctx_t const *mctx, request_t *request, UNUSED fr_signal_t action) |
| |
| static unlang_action_t | cache_find_results (unlang_result_t *p_result, rlm_cache_entry_t **out, rlm_cache_t const *inst, request_t *request, rlm_cache_handle_t **handle, fr_value_box_t const *key, rlm_cache_entry_t *c) |
| | Process results of cache find - either synchronous or async.
|
| |
| static unlang_action_t | cache_find_resume (unlang_result_t *p_result, rlm_cache_entry_t **out, rlm_cache_t const *inst, request_t *request, rlm_cache_handle_t **handle, fr_value_box_t const *key, void *rctx) |
| | Resume callback after async cache find.
|
| |
| static void | cache_free (rlm_cache_t const *inst, rlm_cache_entry_t **c) |
| | Free memory associated with a cache entry.
|
| |
| static unlang_action_t | cache_insert (unlang_result_t *p_result, void **out_rctx, rlm_cache_t const *inst, request_t *request, rlm_cache_handle_t **handle, fr_value_box_t const *key, map_list_t const *maps, fr_time_delta_t ttl) |
| | Create and insert a cache entry.
|
| |
| static void | cache_insert_cancel (module_ctx_t const *mctx, request_t *request, UNUSED fr_signal_t action) |
| |
| static unlang_action_t | cache_insert_resume (unlang_result_t *p_result, request_t *request, rlm_cache_t const *inst, rlm_cache_handle_t **handle, fr_time_delta_t *ttl, void *rctx) |
| |
| static int | cache_key_parse (TALLOC_CTX *ctx, void *out, tmpl_rules_t const *t_rules, CONF_ITEM *ci, call_env_ctx_t const *cec, call_env_parser_t const *rule) |
| |
| static rlm_rcode_t | cache_merge (rlm_cache_t const *inst, request_t *request, rlm_cache_entry_t *c) |
| | Merge a cached entry into a request_t.
|
| |
| static unlang_action_t | cache_module_yield (request_t *request, rlm_cache_handle_t *handle, fr_value_box_t const *key, rlm_cache_entry_t *entry, fr_time_delta_t *ttl, module_method_t resume, unlang_module_signal_t cancel, void *driver_rctx, void *uctx) |
| |
| static int | cache_reconnect (rlm_cache_handle_t **handle, rlm_cache_t const *inst, request_t *request) |
| | Reconnect an suspected inviable handle.
|
| |
| static void | cache_release (rlm_cache_t const *inst, request_t *request, rlm_cache_handle_t **handle) |
| | Release a handle we previously acquired.
|
| |
| static unlang_action_t | cache_set_ttl (unlang_result_t *p_result, void **out_rctx, rlm_cache_t const *inst, request_t *request, rlm_cache_handle_t **handle, rlm_cache_entry_t *c) |
| | Update the TTL of an entry.
|
| |
| static void | cache_set_ttl_cancel (module_ctx_t const *mctx, request_t *request, UNUSED fr_signal_t action) |
| |
| static unlang_action_t | cache_set_ttl_resume (unlang_result_t *p_result, request_t *request, rlm_cache_t const *inst, rlm_cache_handle_t *handle, void *rctx) |
| |
| static xlat_action_t | cache_ttl_get_xlat (TALLOC_CTX *ctx, fr_dcursor_t *out, xlat_ctx_t const *xctx, request_t *request, UNUSED fr_value_box_list_t *in) |
| |
| static xlat_action_t | cache_ttl_get_xlat_results (TALLOC_CTX *ctx, unlang_result_t *result, request_t *request, rlm_cache_t const *inst, rlm_cache_handle_t *handle, rlm_cache_entry_t *c, fr_dcursor_t *out) |
| |
| static xlat_action_t | cache_ttl_get_xlat_resume (UNUSED TALLOC_CTX *ctx, fr_dcursor_t *out, xlat_ctx_t const *xctx, UNUSED request_t *request, UNUSED fr_value_box_list_t *in) |
| |
| static void | cache_unref (request_t *request, rlm_cache_t const *inst, rlm_cache_entry_t *entry, rlm_cache_handle_t *handle) |
| | Release the allocated resources and cleanup the avps.
|
| |
| static int | cache_update_section_parse (TALLOC_CTX *ctx, call_env_parsed_head_t *out, tmpl_rules_t const *t_rules, CONF_ITEM *ci, call_env_ctx_t const *cec, call_env_parser_t const *rule) |
| |
| static int | cache_update_section_parse (TALLOC_CTX *ctx, call_env_parsed_head_t *out, tmpl_rules_t const *t_rules, CONF_ITEM *ci, UNUSED call_env_ctx_t const *cec, UNUSED call_env_parser_t const *rule) |
| |
| static int | cache_verify (map_t *map, void *uctx) |
| | Verify that a map in the cache section makes sense.
|
| |
| static xlat_action_t | cache_xlat (TALLOC_CTX *ctx, fr_dcursor_t *out, xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *in) |
| | Allow single attribute values to be retrieved from the cache.
|
| |
| static xlat_action_t | cache_xlat_results (TALLOC_CTX *ctx, unlang_result_t *result, request_t *request, rlm_cache_t const *inst, rlm_cache_handle_t *handle, rlm_cache_entry_t *c, tmpl_t *target, fr_dcursor_t *out) |
| |
| static xlat_action_t | cache_xlat_resume (UNUSED TALLOC_CTX *ctx, fr_dcursor_t *out, xlat_ctx_t const *xctx, UNUSED request_t *request, UNUSED fr_value_box_list_t *in) |
| |
| static int | mod_bootstrap (module_inst_ctx_t const *mctx) |
| | Register module xlats.
|
| |
| static unlang_action_t | mod_cache_it (unlang_result_t *p_result, module_ctx_t const *mctx, request_t *request) |
| | Do caching checks.
|
| |
| static unlang_action_t | mod_cache_it_expire (unlang_result_t *p_result, request_t *request, rlm_cache_t const *inst, rlm_cache_handle_t *handle, cache_rctx_t *rctx) |
| |
| static unlang_action_t | mod_cache_it_expire_results (unlang_result_t *p_result, unlang_result_t *tmp, request_t *request, rlm_cache_t const *inst, rlm_cache_handle_t *handle, rlm_cache_entry_t *entry) |
| |
| static unlang_action_t | mod_cache_it_expire_resume (unlang_result_t *p_result, module_ctx_t const *mctx, request_t *request) |
| |
| static int | mod_cache_it_find_results (unlang_result_t *p_result, unlang_result_t *tmp, NDEBUG_UNUSED rlm_cache_t const *inst, NDEBUG_UNUSED rlm_cache_handle_t *handle, cache_it_ctx_t *ctx) |
| |
| static unlang_action_t | mod_cache_it_find_resume (unlang_result_t *p_result, module_ctx_t const *mctx, request_t *request) |
| |
| static unlang_action_t | mod_cache_it_finish (request_t *request, rlm_cache_t const *inst, rlm_cache_handle_t *handle, rlm_cache_entry_t *c) |
| |
| static unlang_action_t | mod_cache_it_insert_results (unlang_result_t *p_result, unlang_result_t *tmp, request_t *request, rlm_cache_t const *inst, rlm_cache_handle_t *handle, rlm_cache_entry_t *c) |
| |
| static unlang_action_t | mod_cache_it_insert_resume (unlang_result_t *p_result, module_ctx_t const *mctx, request_t *request) |
| |
| static int | mod_cache_it_merge_results (unlang_result_t *p_result, request_t *request, rlm_cache_t const *inst, NDEBUG_UNUSED rlm_cache_handle_t *handle, cache_it_ctx_t *ctx, rlm_cache_entry_t *c) |
| |
| static unlang_action_t | mod_cache_it_merge_resume (unlang_result_t *p_result, module_ctx_t const *mctx, request_t *request) |
| |
| static unlang_action_t | mod_cache_it_ttl (unlang_result_t *p_result, request_t *request, rlm_cache_t const *inst, rlm_cache_handle_t *handle, cache_rctx_t *rctx) |
| |
| static unlang_action_t | mod_cache_it_ttl_results (unlang_result_t *p_result, unlang_result_t *tmp, request_t *request, rlm_cache_t const *inst, rlm_cache_handle_t *handle, cache_rctx_t *rctx) |
| |
| static unlang_action_t | mod_cache_it_ttl_resume (unlang_result_t *p_result, module_ctx_t const *mctx, request_t *request) |
| |
| static int | mod_detach (module_detach_ctx_t const *mctx) |
| | Free any memory allocated under the instance.
|
| |
| static int | mod_instantiate (module_inst_ctx_t const *mctx) |
| | Create a new rlm_cache_instance.
|
| |
| static unlang_action_t | mod_method_clear (unlang_result_t *p_result, module_ctx_t const *mctx, request_t *request) |
| | Delete the entries by ${key}.
|
| |
| static unlang_action_t | mod_method_clear_expire_resume (unlang_result_t *p_result, module_ctx_t const *mctx, request_t *request) |
| |
| static unlang_action_t | mod_method_clear_find_results (unlang_result_t *p_result, request_t *request, rlm_cache_t const *inst, rlm_cache_handle_t *handle, fr_value_box_t const *key, rlm_cache_entry_t *entry) |
| | Common result handdling after clear method does a find.
|
| |
| static unlang_action_t | mod_method_clear_find_resume (unlang_result_t *p_result, module_ctx_t const *mctx, request_t *request) |
| |
| static unlang_action_t | mod_method_common_results (unlang_result_t *p_result, request_t *request, rlm_cache_t const *inst, rlm_cache_handle_t *handle, rlm_cache_entry_t *entry) |
| | Common result handling for any module method which returns updated for success.
|
| |
| static unlang_action_t | mod_method_common_resume (unlang_result_t *p_result, module_ctx_t const *mctx, request_t *request) |
| |
| static unlang_action_t | mod_method_load (unlang_result_t *p_result, module_ctx_t const *mctx, request_t *request) |
| | Load the avps by ${key}.
|
| |
| static unlang_action_t | mod_method_load_results (unlang_result_t *p_result, request_t *request, rlm_cache_t const *inst, rlm_cache_handle_t *handle, rlm_cache_entry_t *entry) |
| | Common result handling for load method.
|
| |
| static unlang_action_t | mod_method_load_resume (unlang_result_t *p_result, module_ctx_t const *mctx, request_t *request) |
| |
| static unlang_action_t | mod_method_status (unlang_result_t *p_result, module_ctx_t const *mctx, request_t *request) |
| | Get the status by ${key} (without load)
|
| |
| static unlang_action_t | mod_method_status_results (unlang_result_t *p_result, request_t *request, rlm_cache_t const *inst, rlm_cache_handle_t *handle, rlm_cache_entry_t *entry) |
| | Common result handling for status method.
|
| |
| static unlang_action_t | mod_method_status_resume (unlang_result_t *p_result, module_ctx_t const *mctx, request_t *request) |
| |
| static unlang_action_t | mod_method_store (unlang_result_t *p_result, module_ctx_t const *mctx, request_t *request) |
| | Create a cache entry if it does not already exist.
|
| |
| static unlang_action_t | mod_method_store_find_results (unlang_result_t *p_result, request_t *request, rlm_cache_t const *inst, rlm_cache_handle_t *handle, cache_call_env_t *env, rlm_cache_entry_t *entry) |
| | Common result handdling after store method does a find.
|
| |
| static unlang_action_t | mod_method_store_find_resume (unlang_result_t *p_result, module_ctx_t const *mctx, request_t *request) |
| |
| static unlang_action_t | mod_method_ttl (unlang_result_t *p_result, module_ctx_t const *mctx, request_t *request) |
| | Change the TTL on an existing entry.
|
| |
| static unlang_action_t | mod_method_ttl_find_results (unlang_result_t *p_result, request_t *request, rlm_cache_t const *inst, rlm_cache_handle_t *handle, rlm_cache_entry_t *entry) |
| | Common result handling after ttl method does a find.
|
| |
| static unlang_action_t | mod_method_ttl_find_resume (unlang_result_t *p_result, module_ctx_t const *mctx, request_t *request) |
| |
| static unlang_action_t | mod_method_ttl_resume (unlang_result_t *p_result, module_ctx_t const *mctx, request_t *request) |
| |
| static unlang_action_t | mod_method_update (unlang_result_t *p_result, module_ctx_t const *mctx, request_t *request) |
| | Create, or update a cache entry.
|
| |
| static unlang_action_t | mod_method_update_expire_resume (unlang_result_t *p_result, module_ctx_t const *mctx, request_t *request) |
| |
| static unlang_action_t | mod_method_update_find_results (unlang_result_t *p_result, request_t *request, rlm_cache_t const *inst, rlm_cache_handle_t *handle, cache_call_env_t *env, rlm_cache_entry_t *entry) |
| | Common result handdling after update method does a find.
|
| |
| static unlang_action_t | mod_method_update_find_resume (unlang_result_t *p_result, module_ctx_t const *mctx, request_t *request) |
| |
| int | submodule_parse (TALLOC_CTX *ctx, void *out, void *parent, CONF_ITEM *ci, conf_parser_t const *rule) |
| |