Commit | Line | Data |
---|---|---|
7cdc2bab | 1 | /* |
0235b0db | 2 | * SPDX-License-Identifier: MIT |
7cdc2bab | 3 | * |
0235b0db | 4 | * Copyright 2016 Philippe Proulx <pproulx@efficios.com> |
7cdc2bab MD |
5 | */ |
6 | ||
ae2be88d SM |
7 | #ifndef BABELTRACE_PLUGINS_CTF_LTTNG_LIVE_DATA_STREAM_HPP |
8 | #define BABELTRACE_PLUGINS_CTF_LTTNG_LIVE_DATA_STREAM_HPP | |
0235b0db | 9 | |
c802cacb | 10 | #include <stdint.h> |
7cdc2bab | 11 | |
087cd0f5 | 12 | #include "lttng-live.hpp" |
7cdc2bab | 13 | |
4164020e | 14 | enum lttng_live_iterator_status lttng_live_lazy_msg_init(struct lttng_live_session *session, |
4d6634b8 | 15 | bt2::SelfMessageIterator selfMsgIter); |
4164020e SM |
16 | |
17 | struct lttng_live_stream_iterator * | |
18 | lttng_live_stream_iterator_create(struct lttng_live_session *session, uint64_t ctf_trace_id, | |
81c7f242 SM |
19 | uint64_t stream_id); |
20 | ||
21 | namespace ctf { | |
22 | namespace src { | |
23 | namespace live { | |
24 | ||
25 | struct CtfLiveMedium : Medium | |
26 | { | |
27 | CtfLiveMedium(lttng_live_stream_iterator& liveStreamIter) : | |
28 | _mLogger {liveStreamIter.logger, "PLUGIN/SRC.CTF.LTTNG-LIVE/CTF-LIVE-MEDIUM"}, | |
29 | _mLiveStreamIter(liveStreamIter) | |
30 | { | |
31 | } | |
32 | ||
33 | Buf buf(bt2c::DataLen offset, bt2c::DataLen minSize) override; | |
34 | ||
35 | private: | |
36 | bt2c::Logger _mLogger; | |
37 | lttng_live_stream_iterator& _mLiveStreamIter; | |
38 | ||
39 | bt2c::DataLen _mCurPktBegOffsetInStream = bt2c::DataLen::fromBits(0); | |
40 | std::vector<uint8_t> _mBuf; | |
41 | }; | |
42 | ||
43 | } /* namespace live */ | |
44 | } /* namespace src */ | |
45 | } /* namespace ctf */ | |
46 | ||
47 | lttng_live_iterator_status | |
48 | lttng_live_stream_iterator_create_msg_iter(lttng_live_stream_iterator *liveStreamIter); | |
4164020e | 49 | |
ae2be88d | 50 | #endif /* BABELTRACE_PLUGINS_CTF_LTTNG_LIVE_DATA_STREAM_HPP */ |