int kogmo_rtdb_objmeta_upd_stats (kogmo_rtdb_handle_t *db_h) { kogmo_rtdb_objid_t oid; //kogmo_rtdb_obj_info_t rtdbobj_info; kogmo_rtdb_obj_c3_rtdb_t rtdbobj; kogmo_rtdb_objid_t err; CHK_DBH("kogmo_rtdb_objmeta_upd_stats",db_h,0); oid = kogmo_rtdb_obj_searchinfo (db_h, "rtdb", KOGMO_RTDB_OBJTYPE_C3_RTDB, 0, 0, 0, NULL, 1); if (oid<0) return oid; //err = kogmo_rtdb_obj_readinfo (db_h, oid, 0, &rtdbobj_info); //if (err<0) return err; err = kogmo_rtdb_obj_readdata (db_h, oid, 0, &rtdbobj, sizeof(rtdbobj)); if (err<0) return err; rtdbobj.base.data_ts = kogmo_timestamp_now(); rtdbobj.rtdb.objects_free=db_h->localdata_p->objmeta_free; rtdbobj.rtdb.processes_free=db_h->ipc_h.shm_p->proc_free; rtdbobj.rtdb.memory_free=db_h->localdata_p -> heap_free; err = kogmo_rtdb_obj_writedata (db_h, oid, &rtdbobj); if (err<0) return err; return 0; }
kogmo_rtdb_objid_t kogmo_rtdb_obj_c3_process_getprocessinfo (kogmo_rtdb_handle_t *db_h, kogmo_rtdb_objid_t proc_oid, kogmo_timestamp_t ts, kogmo_rtdb_obj_c3_process_info_t str) { int err; kogmo_rtdb_obj_info_t om; kogmo_rtdb_obj_c3_process_t po; kogmo_rtdb_objid_t oid; memset(str, 0, sizeof(kogmo_rtdb_obj_c3_process_info_t)); strcpy(str, "?"); oid = kogmo_rtdb_obj_c3_process_searchprocessobj (db_h, ts, proc_oid); if ( oid < 0 ) return oid; err = kogmo_rtdb_obj_readinfo ( db_h, oid, ts, &om); if ( err < 0 ) return err; err = kogmo_rtdb_obj_readdata (db_h, oid, ts, &po, sizeof (po) ); if ( err < 0 ) return err; sprintf(str, "%s%s(%lli)", om.deleted_ts ? "D!":"", om.name, (long long int) om.oid); //sprintf(str, "%s%s [OID %lli, PID %i]", om.deleted_ts ? "D!":"", om.name, // (long long int) om.oid, // po.process.pid); return oid; }