LeviLamina
Loading...
Searching...
No Matches
StreamScheduler.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/external/dcsctp/SendQueue.h"
7#include "mc/external/webrtc/StrongAlias.h"
8
9// auto generated forward declare list
10// clang-format off
11namespace dcsctp { class InverseWeightTag; }
12namespace dcsctp { class StreamPriorityTag; }
13namespace dcsctp { class VirtualTimeTag; }
14namespace webrtc { class Timestamp; }
15// clang-format on
16
17namespace dcsctp {
18
19class StreamScheduler {
20public:
21 // StreamScheduler inner types declare
22 // clang-format off
24 class InverseWeight;
25 class StreamProducer;
26 class VirtualTime;
27 class Stream;
28 // clang-format on
29
30 // StreamScheduler inner types define
32
33 class InverseWeight : public ::webrtc::StrongAlias<::dcsctp::InverseWeightTag, double> {};
34
36 public:
37 // virtual functions
38 // NOLINTBEGIN
39 virtual ~StreamProducer() = default;
40
41 virtual ::std::optional<::dcsctp::SendQueue::DataToSend> Produce(::webrtc::Timestamp now, uint64 max_size) = 0;
42
43 virtual uint64 bytes_to_send_in_next_message() const = 0;
44 // NOLINTEND
45 };
46
47 class VirtualTime : public ::webrtc::StrongAlias<::dcsctp::VirtualTimeTag, double> {};
48
49 class Stream {
50 public:
51 // member variables
52 // NOLINTBEGIN
60 // NOLINTEND
61
62 public:
63 // prevent constructor by default
64 Stream& operator=(Stream const&);
65 Stream(Stream const&);
66 Stream();
67
68 public:
69 // member functions
70 // NOLINTBEGIN
71 MCNAPI void MakeActive(uint64 bytes_to_send_next);
72
73 MCNAPI void MakeInactive();
74
75 MCNAPI void MaybeMakeActive();
76
78 // NOLINTEND
79 };
80
81public:
82 // member variables
83 // NOLINTBEGIN
91 // NOLINTEND
92
93public:
94 // prevent constructor by default
95 StreamScheduler& operator=(StreamScheduler const&);
96 StreamScheduler(StreamScheduler const&);
97 StreamScheduler();
98
99public:
100 // member functions
101 // NOLINTBEGIN
102 MCNAPI ::std::optional<::dcsctp::SendQueue::DataToSend> Produce(::webrtc::Timestamp now, uint64 max_size);
103
105 // NOLINTEND
106
107public:
108 // destructor thunk
109 // NOLINTBEGIN
110 MCNAPI void $dtor();
111 // NOLINTEND
112};
113
114} // namespace dcsctp
Definition InverseWeightTag.h:7
Definition StreamPriorityTag.h:7
Definition StreamScheduler.h:33
Definition StreamScheduler.h:35
Definition StreamScheduler.h:49
MCAPI void MakeActive(uint64 bytes_to_send_next)
MCAPI void SetPriority(::webrtc::StrongAlias<::dcsctp::StreamPriorityTag, ushort > priority)
Definition StreamScheduler.h:47
MCAPI ::std::optional<::dcsctp::SendQueue::DataToSend > Produce(::webrtc::Timestamp now, uint64 max_size)
Definition VirtualTimeTag.h:7
Definition StrongAlias.h:8
Definition Timestamp.h:15
Definition Alias.h:14