5370b8675327c3bbfa48acfc008a3120a94daad4
[babeltrace.git] / src / plugins / ctf / lttng-live / data-stream.hpp
1 /*
2 * SPDX-License-Identifier: MIT
3 *
4 * Copyright 2016 Philippe Proulx <pproulx@efficios.com>
5 */
6
7 #ifndef BABELTRACE_PLUGINS_CTF_LTTNG_LIVE_DATA_STREAM_HPP
8 #define BABELTRACE_PLUGINS_CTF_LTTNG_LIVE_DATA_STREAM_HPP
9
10 #include <stdint.h>
11
12 #include "lttng-live.hpp"
13
14 enum lttng_live_iterator_status lttng_live_lazy_msg_init(struct lttng_live_session *session,
15 bt2::SelfMessageIterator selfMsgIter);
16
17 struct lttng_live_stream_iterator *
18 lttng_live_stream_iterator_create(struct lttng_live_session *session, uint64_t ctf_trace_id,
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);
49
50 #endif /* BABELTRACE_PLUGINS_CTF_LTTNG_LIVE_DATA_STREAM_HPP */
This page took 0.032453 seconds and 5 git commands to generate.