zbx_connector_deserialize_data_point(data, (zbx_uint32_t)(size - (data - start)), connector_data_points);
#include "zbxconnector.h"
#include "zbxserialize.h"
#include "zbxcacheconfig.h"
void zbx_connector_serialize_object(unsigned char **data, size_t *data_alloc, size_t *data_offset,
const zbx_connector_object_t *connector_object)
zbx_uint32_t data_len = 0, error_len, vector_uint64_len;
zbx_serialize_prepare_value(data_len, connector_object->objectid);
zbx_serialize_prepare_value(data_len, connector_object->ts.sec);
zbx_serialize_prepare_value(data_len, connector_object->ts.ns);
zbx_serialize_prepare_str_len(data_len, connector_object->str, error_len);
zbx_serialize_prepare_vector_uint64_len(data_len, connector_object->ids, vector_uint64_len);
*data = (unsigned char *)zbx_calloc(NULL, (*data_alloc = MAX(1024, data_len)), 1);
while (data_len > *data_alloc - *data_offset)
*data = (unsigned char *)zbx_realloc(*data, *data_alloc);
ptr = *data + *data_offset;
*data_offset += data_len;
ptr += zbx_serialize_value(ptr, connector_object->objectid);
ptr += zbx_serialize_value(ptr, connector_object->ts.sec);
ptr += zbx_serialize_value(ptr, connector_object->ts.ns);
ptr += zbx_serialize_str(ptr, connector_object->str, error_len);
zbx_serialize_vector_uint64(ptr, connector_object->ids, vector_uint64_len);
void zbx_connector_deserialize_object(const unsigned char *data, zbx_uint32_t size,
zbx_vector_connector_object_t *connector_objects)
const unsigned char *end = data + size;
zbx_connector_object_t connector_object;