Send indexes in streaming mode
authorJulien Desfossez <jdesfossez@efficios.com>
Mon, 19 Aug 2013 15:35:43 +0000 (11:35 -0400)
committerDavid Goulet <dgoulet@efficios.com>
Fri, 27 Sep 2013 16:18:04 +0000 (12:18 -0400)
commit1c20f0e29cbf8627bfb1ff444572d52d6655c4e2
tree07b9320dc1f3ff4705efa9fab1d476430698a950
parent3c4599b9a5c12ceff19368c6cd51e01d81824726
Send indexes in streaming mode

To write an index on disk, we need to know all the fields sent by the
RELAY_SEND_INDEX command as well as the offset of the data in the
tracefile.

Since the control and data connection are not synchronized, this process
happens in two separate steps synchronized by an HT indexed by the
index_handle and the net_seq_num.

When we receive data and when we receive an index, we lookup in the HT
if an entry already exists. If it does, it means that we only need to
fill the fields we just received and write the index on disk, otherwise,
we allocate a new index, set the fields we know and store it in the HT.

Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
17 files changed:
include/lttng/lttng-error.h
src/bin/lttng-relayd/Makefile.am
src/bin/lttng-relayd/index.c [new file with mode: 0644]
src/bin/lttng-relayd/index.h [new file with mode: 0644]
src/bin/lttng-relayd/lttng-relayd.h
src/bin/lttng-relayd/main.c
src/common/consumer-stream.c
src/common/consumer-stream.h
src/common/consumer.c
src/common/defaults.h
src/common/index/index.c
src/common/kernel-consumer/kernel-consumer.c
src/common/relayd/relayd.c
src/common/relayd/relayd.h
src/common/sessiond-comm/relayd.h
src/common/sessiond-comm/sessiond-comm.h
src/common/ust-consumer/ust-consumer.c
This page took 0.026052 seconds and 4 git commands to generate.