/* lmt_router_v1: router */ void lmt_db_insert_router_v1 (char *s) { ListIterator itr; lmt_db_t db; char *rtrname = NULL; float pct_cpu, pct_mem; uint64_t bytes; if (_init_db_ifneeded () < 0) goto done; if (lmt_router_decode_v1 (s, &rtrname, &pct_cpu, &pct_mem, &bytes) < 0) goto done; itr = list_iterator_create (dbs); while ((db = list_next (itr))) { if (lmt_db_insert_router_data (db, rtrname, bytes, pct_cpu) < 0) { _trigger_db_reconnect (); break; } } list_iterator_destroy (itr); done: if (rtrname) free (rtrname); }
int _parse_router_v1 (const char *s) { int retval = -1; char *name = NULL; float pct_cpu, pct_mem; uint64_t bytes; if (lmt_router_decode_v1 (s, &name, &pct_cpu, &pct_mem, &bytes) < 0) goto done; retval = 0; done: if (name) free (name); return retval; }