#include "preproc_server.h"
#include "../lld/lld_protocol.h"
#include "zbxcachehistory.h"
#include "zbxpreprocbase.h"
int preproc_prepare_value_server(const zbx_variant_t *value, const zbx_pp_value_opt_t *value_opt)
if (ZBX_VARIANT_NONE == value->type && 0 == (value_opt->flags & ZBX_PP_VALUE_OPT_META))
void preproc_flush_value_server(zbx_pp_manager_t *manager, zbx_uint64_t itemid, unsigned char value_type,
unsigned char flags, zbx_variant_t *value, zbx_timespec_t ts, zbx_pp_value_opt_t *value_opt)
zabbix_log(LOG_LEVEL_DEBUG, "In %s()", __func__);
if (0 == (flags & ZBX_FLAG_DISCOVERY_RULE))
zbx_dc_add_history_variant(itemid, value_type, flags, value, ts, value_opt);
if (NULL != (item = (zbx_pp_item_t *)zbx_hashset_search(zbx_pp_manager_items(manager), &itemid)))
const char *value_lld = NULL, *error_lld = NULL;
zbx_uint64_t lastlogsize = 0;
if (ZBX_VARIANT_ERR == value->type)
error_lld = value->data.err;
if (SUCCEED == zbx_variant_convert(value, ZBX_VARIANT_STR))
value_lld = value->data.str;
if (0 != (value_opt->flags & ZBX_PP_VALUE_OPT_META))
lastlogsize = value_opt->lastlogsize;
mtime = value_opt->mtime;
if (NULL != value_lld || NULL != error_lld || 0 != meta)
zbx_lld_queue_value(itemid, item->preproc->hostid, value_lld, &ts, meta, lastlogsize,
zabbix_log(LOG_LEVEL_DEBUG, "End of %s()", __func__);