in src/log_builder.c [277:313]
static uint32_t _log_pack(log_group * grp, uint8_t * buf)
{
uint8_t * start_buf = buf;
if (grp->logs.buffer != NULL)
{
buf += grp->logs.now_buffer_len;
}
else
{
return 0;
}
if (grp->topic != NULL)
{
*buf++ = 0x1A;
buf+= uint32_pack((uint32_t)sdslen(grp->topic), buf);
memcpy(buf, grp->topic, sdslen(grp->topic));
buf += sdslen(grp->topic);
}
if (grp->source != NULL)
{
*buf++ = 0x22;
buf+= uint32_pack((uint32_t)sdslen(grp->source), buf);
memcpy(buf, grp->source, sdslen(grp->source));
buf += sdslen(grp->source);
}
if (grp->tags.buffer != NULL)
{
memcpy(buf, grp->tags.buffer, grp->tags.now_buffer_len);
buf += grp->tags.now_buffer_len;
}
return buf - start_buf;
}