MCPcopy Create free account
hub / github.com/OpenSIPS/opensips / w_stat_iter_next

Function w_stat_iter_next

modules/statistics/statistics.c:835–865  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

833}
834
835static int w_stat_iter_next(struct sip_msg *msg, pv_spec_t *key, pv_spec_t *val,
836 struct stat_iter *iter)
837{
838 pv_value_t pval;
839 stat_var *stat = iter->cur;
840
841 if (!stat) {
842 LM_DBG("no more stats to iterate\n");
843 return -1;
844 }
845
846 pval.flags = PV_VAL_STR;
847 pval.rs = stat->name;
848 if (pv_set_value(msg, key, 0, &pval) != 0) {
849 LM_ERR("failed to set pv value for stat key '%.*s'\n",
850 stat->name.len, stat->name.s);
851 return -1;
852 }
853
854 pval.flags = PV_VAL_INT|PV_TYPE_INT;
855 pval.ri = get_stat_val(stat);
856 if (pv_set_value(msg, val, 0, &pval) != 0) {
857 LM_ERR("failed to set pv value for stat val '%d'\n",
858 pval.ri);
859 return -1;
860 }
861
862 iter->cur = stat->lnext;
863
864 return 1;
865}
866
867int pv_set_stat(struct sip_msg* msg, pv_param_t *param, int op,
868 pv_value_t *val)

Callers

nothing calls this directly

Calls 1

pv_set_valueFunction · 0.85

Tested by

no test coverage detected