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, uint64) = 0;
42
43 virtual uint64 bytes_to_send_in_next_message() const = 0;
44 // NOLINTEND
45
46 public:
47 // virtual function thunks
48 // NOLINTBEGIN
49
50 // NOLINTEND
51 };
52
53 class VirtualTime : public ::webrtc::StrongAlias<::dcsctp::VirtualTimeTag, double> {};
54
55 class Stream {
56 public:
57 // member variables
58 // NOLINTBEGIN
66 // NOLINTEND
67
68 public:
69 // prevent constructor by default
70 Stream& operator=(Stream const&);
71 Stream(Stream const&);
72 Stream();
73
74 public:
75 // member functions
76 // NOLINTBEGIN
77 MCNAPI void MakeActive(uint64 bytes_to_send_next);
78
79 MCNAPI void MakeInactive();
80
81 MCNAPI void MaybeMakeActive();
82
84 // NOLINTEND
85 };
86
87public:
88 // member variables
89 // NOLINTBEGIN
97 // NOLINTEND
98
99public:
100 // prevent constructor by default
101 StreamScheduler& operator=(StreamScheduler const&);
102 StreamScheduler(StreamScheduler const&);
103 StreamScheduler();
104
105public:
106 // member functions
107 // NOLINTBEGIN
108 MCNAPI ::std::optional<::dcsctp::SendQueue::DataToSend> Produce(::webrtc::Timestamp now, uint64 max_size);
109
111 // NOLINTEND
112
113public:
114 // destructor thunk
115 // NOLINTBEGIN
116 MCNAPI void $dtor();
117 // NOLINTEND
118};
119
120} // namespace dcsctp
Definition InverseWeightTag.h:7
Definition StreamPriorityTag.h:7
Definition StreamScheduler.h:33
Definition StreamScheduler.h:35
Definition StreamScheduler.h:55
MCAPI void MakeActive(uint64 bytes_to_send_next)
MCAPI void SetPriority(::webrtc::StrongAlias<::dcsctp::StreamPriorityTag, ushort > priority)
Definition StreamScheduler.h:53
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