Transfer filter strings from sessiond to client
authorPhilippe Proulx <eeppeliteloop@gmail.com>
Fri, 28 Aug 2015 21:48:39 +0000 (17:48 -0400)
committerJérémie Galarneau <jeremie.galarneau@efficios.com>
Fri, 26 Feb 2016 20:15:11 +0000 (15:15 -0500)
commitb4e3ceb9d379829bc5d6ec799f83086317aeafd8
treef852303fad1800b1202551ffb3ae3a01136bd6af
parent6e10c9b924127a50c2c8528cf1908ef634aa5903
Transfer filter strings from sessiond to client

Previously, the payload of the list events was a simple array of
struct lttng_event.

    [event1][event2][event3]

This patch adds an array of variable-length extended infos at the
end of the event array:

    [event1][event2][event3][extinfo1][extinfo2][extinfo3]

When received on the client side, the event structures are
edited so that their new extended.ptr member points to their
respective extended infos:

    [event1][event2][event3][extinfo1][extinfo2][extinfo3]
        \       \       \      ^         ^         ^
         \       \       \____/_________/_________/
          \       \__________/_________/
           \________________/

This allows this whole block to be freed at once, so as to
keep existing applications linked with liblttng-ctl working
without being recompiled.

The variable-length extended info has this layout for the moment:

    [extended info header][filter string]

The extended info header contains the length of the subsequent
filter string, including its terminal null character.

Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
include/lttng/event.h
src/bin/lttng-sessiond/cmd.c
src/bin/lttng-sessiond/cmd.h
src/bin/lttng-sessiond/main.c
src/common/sessiond-comm/sessiond-comm.h
src/lib/lttng-ctl/lttng-ctl.c
This page took 0.027353 seconds and 5 git commands to generate.