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

Function mi_get_size

modules/mqueue/mqueue_mod.c:304–338  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

302}
303
304mi_response_t *mi_get_size(const mi_params_t *params,
305 struct mi_handler *async_hdl)
306{
307 mi_response_t *resp;
308 mi_item_t *resp_obj, *mq_obj;
309 str mqueue_name;
310 int mqueue_sz = 0;
311
312 if (get_mi_string_param(params, "name", &mqueue_name.s, &mqueue_name.len) < 0)
313 return init_mi_param_error();
314
315 mqueue_sz = _mq_get_csize(&mqueue_name);
316 if(mqueue_sz < 0)
317 return init_mi_error(404, MI_SSTR("No such queue"));
318
319 resp = init_mi_result_object(&resp_obj);
320 if (!resp)
321 return NULL;
322
323 mq_obj = add_mi_object(resp_obj, MI_SSTR("Queue"));
324 if (!mq_obj)
325 goto error;
326
327 if (add_mi_string_fmt(mq_obj, MI_SSTR("name"), mqueue_name.s, mqueue_name.len) < 0)
328 goto error;
329 if (add_mi_number(mq_obj, MI_SSTR("size"), mqueue_sz) < 0)
330 goto error;
331
332 return resp;
333
334error:
335 LM_ERR("Unable to create reply\n");
336 free_mi_response(resp);
337 return NULL;
338}
339
340mi_response_t *mi_get_sizes(const mi_params_t *params,
341 struct mi_handler *async_hdl)

Callers

nothing calls this directly

Calls 9

get_mi_string_paramFunction · 0.85
init_mi_param_errorFunction · 0.85
_mq_get_csizeFunction · 0.85
init_mi_errorFunction · 0.85
init_mi_result_objectFunction · 0.85
add_mi_objectFunction · 0.85
add_mi_string_fmtFunction · 0.85
add_mi_numberFunction · 0.85
free_mi_responseFunction · 0.85

Tested by

no test coverage detected