#include <common/buffer-view.hpp>
#include <common/consumer/consumer.hpp>
#include <common/dynamic-buffer.hpp>
#include <common/buffer-view.hpp>
#include <common/consumer/consumer.hpp>
#include <common/dynamic-buffer.hpp>
if (bucket->content.size > 0) {
WARN("Stream metadata bucket destroyed with remaining data: size = %zu, buffer count = %u",
if (bucket->content.size > 0) {
WARN("Stream metadata bucket destroyed with remaining data: size = %zu, buffer count = %u",
{
ssize_t ret;
struct lttng_buffer_view flushed_view;
struct stream_subbuffer flushed_subbuffer;
enum metadata_bucket_status status;
{
ssize_t ret;
struct lttng_buffer_view flushed_view;
struct stream_subbuffer flushed_subbuffer;
enum metadata_bucket_status status;
size_t flush_size;
DBG("Metadata bucket filled with %zu bytes buffer view, sub-buffer size: %lu, padded sub-buffer size: %lu, coherent: %s",
size_t flush_size;
DBG("Metadata bucket filled with %zu bytes buffer view, sub-buffer size: %lu, padded sub-buffer size: %lu, coherent: %s",
- buffer->buffer.buffer.size,
- buffer->info.metadata.subbuf_size,
- buffer->info.metadata.padded_subbuf_size,
- buffer->info.metadata.coherent.value ? "true" : "false");
+ buffer->buffer.buffer.size,
+ buffer->info.metadata.subbuf_size,
+ buffer->info.metadata.padded_subbuf_size,
+ buffer->info.metadata.coherent.value ? "true" : "false");
/*
* If no metadata was accumulated and this buffer should be
* flushed, don't copy it unecessarily; just flush it directly.
/*
* If no metadata was accumulated and this buffer should be
* flushed, don't copy it unecessarily; just flush it directly.
* the bucket is not sent, which is what really matters
* from an efficiency point of view.
*/
* the bucket is not sent, which is what really matters
* from an efficiency point of view.
*/
ret = bucket->flush.fn(&flushed_subbuffer, bucket->flush.data);
if (ret >= 0) {
status = METADATA_BUCKET_STATUS_OK;
ret = bucket->flush.fn(&flushed_subbuffer, bucket->flush.data);
if (ret >= 0) {
status = METADATA_BUCKET_STATUS_OK;