X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Fcommon%2Fsessiond-comm%2Frelayd.h;h=525ec1a5c0271e1002ffb65be3b55bdf39657b8e;hp=67b06371f2d6d47de10b58724699e3a86810e922;hb=f7079f6790ccfb78ec7115ccb5b1706f5c18ebfe;hpb=b8aa16822f579a6e15b41d2761801a0a65d5f2a5 diff --git a/src/common/sessiond-comm/relayd.h b/src/common/sessiond-comm/relayd.h index 67b06371f..525ec1a5c 100644 --- a/src/common/sessiond-comm/relayd.h +++ b/src/common/sessiond-comm/relayd.h @@ -25,6 +25,10 @@ #include #include +#include + +#define RELAYD_VERSION_COMM_MAJOR 2 +#define RELAYD_VERSION_COMM_MINOR 1 /* * lttng-relayd communication header. @@ -44,25 +48,24 @@ struct lttcomm_relayd_data_hdr { /* Circuit ID not used for now so always ignored */ uint64_t circuit_id; uint64_t stream_id; /* Stream ID known by the relayd */ - uint64_t net_seq_num; /* Network seq. number for UDP. */ + uint64_t net_seq_num; /* Network sequence number, per stream. */ uint32_t data_size; /* data size following this header */ + uint32_t padding_size; /* Size of 0 padding the data */ } __attribute__ ((__packed__)); -#if 0 /* - * Used to create a session between the relay and the sessiond. + * Reply from a create session command. */ -struct lttcomm_relayd_create_session { - char hostname[LTTNG_MAX_DNNAME]; - char session_name[NAME_MAX]; -}; -#endif +struct lttcomm_relayd_status_session { + uint64_t session_id; + uint32_t ret_code; +} __attribute__ ((__packed__)); /* * Used to add a stream on the relay daemon. */ struct lttcomm_relayd_add_stream { - char channel_name[LTTNG_SYMBOL_NAME_LEN]; + char channel_name[DEFAULT_STREAM_NAME_LEN]; char pathname[PATH_MAX]; } __attribute__ ((__packed__)); @@ -85,7 +88,7 @@ struct lttcomm_relayd_generic_reply { * Used to update synchronization information. */ struct lttcomm_relayd_update_sync_info { - /* TODO: fill the structure */ + /* TODO: fill the structure. Feature not implemented yet */ } __attribute__ ((__packed__)); /* @@ -101,7 +104,33 @@ struct lttcomm_relayd_version { */ struct lttcomm_relayd_metadata_payload { uint64_t stream_id; + uint32_t padding_size; char payload[]; } __attribute__ ((__packed__)); +/* + * Used to indicate that a specific stream id can now be closed. + */ +struct lttcomm_relayd_close_stream { + uint64_t stream_id; + uint64_t last_net_seq_num; /* sequence number of last packet */ +} __attribute__ ((__packed__)); + +/* + * Used to test if for a given stream id the data is pending on the relayd side + * for reading. + */ +struct lttcomm_relayd_data_pending { + uint64_t stream_id; + uint64_t last_net_seq_num; /* Sequence number of the last packet */ +} __attribute__ ((__packed__)); + +struct lttcomm_relayd_begin_data_pending { + uint64_t session_id; +} __attribute__ ((__packed__)); + +struct lttcomm_relayd_end_data_pending { + uint64_t session_id; +} __attribute__ ((__packed__)); + #endif /* _RELAYD_COMM */