#include <lttng/lttng.h>
#include <common/compat/socket.h>
#include <common/uri.h>
+#include <common/defaults.h>
#include <arpa/inet.h>
#include <netinet/in.h>
RELAYD_VERSION,
RELAYD_SEND_METADATA,
RELAYD_CLOSE_STREAM,
+ RELAYD_DATA_PENDING,
+ RELAYD_QUIESCENT_CONTROL,
LTTNG_SET_FILTER,
LTTNG_HEALTH_CHECK,
+ LTTNG_DATA_PENDING,
};
/*
struct lttng_domain domain;
union {
struct {
- char channel_name[NAME_MAX];
+ char channel_name[LTTNG_SYMBOL_NAME_LEN];
char name[NAME_MAX];
} disable;
/* Event data */
struct {
- char channel_name[NAME_MAX];
+ char channel_name[LTTNG_SYMBOL_NAME_LEN];
struct lttng_event event;
} enable;
/* Create channel */
} channel;
/* Context */
struct {
- char channel_name[NAME_MAX];
- char event_name[NAME_MAX];
+ char channel_name[LTTNG_SYMBOL_NAME_LEN];
struct lttng_event_context ctx;
} context;
/* Use by register_consumer */
} reg;
/* List */
struct {
- char channel_name[NAME_MAX];
+ char channel_name[LTTNG_SYMBOL_NAME_LEN];
} list;
struct lttng_calibrate calibrate;
/* Used by the set_consumer_url and used by create_session also call */
uint32_t size;
} uri;
struct {
- char channel_name[NAME_MAX];
- char event_name[NAME_MAX];
+ char channel_name[LTTNG_SYMBOL_NAME_LEN];
+ char event_name[LTTNG_SYMBOL_NAME_LEN];
/* Length of following bytecode */
uint32_t bytecode_len;
} filter;
} u;
};
-#define LTTNG_FILTER_MAX_LEN 65336
+#define LTTNG_FILTER_MAX_LEN 65536
/*
* Filter bytecode data. The reloc table is located at the end of the
* starts at reloc_table_offset.
*/
struct lttng_filter_bytecode {
- uint16_t len; /* len of data */
- uint16_t reloc_table_offset;
+ uint32_t len; /* len of data */
+ uint32_t reloc_table_offset;
+ uint64_t seqnum;
char data[0];
};
uint64_t max_sb_size; /* the subbuffer size for this channel */
/* shm_fd and wait_fd are sent as ancillary data */
uint64_t mmap_len;
+ /* nb_init_streams is the number of streams open initially. */
+ unsigned int nb_init_streams;
char name[LTTNG_SYMBOL_NAME_LEN];
} channel;
struct {
char path_name[PATH_MAX];
int net_index;
unsigned int metadata_flag;
- char name[LTTNG_SYMBOL_NAME_LEN]; /* Name string of the stream */
+ char name[DEFAULT_STREAM_NAME_LEN]; /* Name string of the stream */
+ uint64_t session_id; /* Tracing session id of the stream */
} stream;
struct {
int net_index;
struct {
uint64_t net_seq_idx;
} destroy_relayd;
+ struct {
+ uint64_t session_id;
+ } data_pending;
} u;
};