uint8_t compression_scheme; /* 0 if unused */
uint8_t encryption_scheme; /* 0 if unused */
uint8_t checksum_scheme; /* 0 if unused */
+ uint8_t major; /* CTF spec major version number */
+ uint8_t minor; /* CTF spec minor version number */
uint8_t header_end[0];
};
header->compression_scheme = 0; /* 0 if unused */
header->encryption_scheme = 0; /* 0 if unused */
header->checksum_scheme = 0; /* 0 if unused */
+ header->major = CTF_SPEC_MAJOR;
+ header->minor = CTF_SPEC_MINOR;
+
}
/*
static
void ltt_channel_destroy(struct ltt_channel *ltt_chan)
{
- channel_destroy(ltt_chan->chan, ltt_chan->handle);
+ channel_destroy(ltt_chan->chan, ltt_chan->handle, 0);
}
static
buf = channel_get_ring_buffer(&client_config, chan,
0, handle, shm_fd, wait_fd, memory_map_size);
- if (!lib_ring_buffer_open_read(buf, handle))
+ if (!lib_ring_buffer_open_read(buf, handle, 0))
return buf;
return NULL;
}
void ltt_buffer_read_close(struct lib_ring_buffer *buf,
struct shm_handle *handle)
{
- lib_ring_buffer_release_read(buf, handle);
+ lib_ring_buffer_release_read(buf, handle, 0);
}
static
return lib_ring_buffer_channel_is_disabled(chan);
}
+static
+int ltt_flush_buffers(struct channel *chan, struct shm_handle *handle)
+{
+ struct lib_ring_buffer *buf;
+ int shm_fd, wait_fd;
+ uint64_t memory_map_size;
+
+ buf = channel_get_ring_buffer(&client_config, chan,
+ 0, handle, &shm_fd, &wait_fd,
+ &memory_map_size);
+ lib_ring_buffer_switch(&client_config, buf,
+ SWITCH_ACTIVE, handle);
+ return 0;
+}
+
static struct ltt_transport ltt_relay_transport = {
.name = "relay-" RING_BUFFER_MODE_TEMPLATE_STRING "-mmap",
.ops = {
//.get_hp_wait_queue = ltt_get_hp_wait_queue,
.is_finalized = ltt_is_finalized,
.is_disabled = ltt_is_disabled,
+ .flush_buffers = ltt_flush_buffers,
},
};