#include "collectd.h"
-#include "common.h"
-#include "meta_data.h"
#include "plugin.h"
-#include "utils_avltree.h"
+#include "utils/avltree/avltree.h"
+#include "utils/common/common.h"
+#include "utils/metadata/meta_data.h"
#include "utils_cache.h"
#include <assert.h>
ce->last_time = vl->time;
ce->last_update = cdtime();
ce->interval = vl->interval;
- ce->state = STATE_OKAY;
+ ce->state = STATE_UNKNOWN;
+
+ if (vl->meta != NULL) {
+ ce->meta = meta_data_clone(vl->meta);
+ }
if (c_avl_insert(cache_tree, key_copy, ce) != 0) {
sfree(key_copy);
* plugin calls the cache interface. */
for (size_t i = 0; i < expired_num; i++) {
value_list_t vl = {
- .time = expired[i].time, .interval = expired[i].interval,
+ .time = expired[i].time,
+ .interval = expired[i].interval,
};
if (parse_identifier_vl(expired[i].key, &vl) != 0) {
* Iterator interface
*/
uc_iter_t *uc_get_iterator(void) {
- uc_iter_t *iter;
-
- iter = (uc_iter_t *)calloc(1, sizeof(*iter));
+ uc_iter_t *iter = calloc(1, sizeof(*iter));
if (iter == NULL)
return NULL;
if ((iter == NULL) || (iter->entry == NULL) || (ret_values == NULL) ||
(ret_num == NULL))
return -1;
-
*ret_values =
calloc(iter->entry->values_num, sizeof(*iter->entry->values_raw));
if (*ret_values == NULL)
return -1;
for (size_t i = 0; i < iter->entry->values_num; ++i)
- *ret_values[i] = iter->entry->values_raw[i];
+ (*ret_values)[i] = iter->entry->values_raw[i];
*ret_num = iter->entry->values_num;