LeviLamina
Loading...
Searching...
No Matches
DcSctpSocketInterface.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/external/dcsctp/ResetStreamsStatus.h"
7#include "mc/external/dcsctp/SctpImplementation.h"
8#include "mc/external/dcsctp/SendStatus.h"
9#include "mc/external/dcsctp/SocketState.h"
10#include "mc/external/webrtc/StrongAlias.h"
11
12// auto generated forward declare list
13// clang-format off
14namespace dcsctp { class DcSctpMessage; }
15namespace dcsctp { class HandoverReadinessStatus; }
16namespace dcsctp { class StreamIDTag; }
17namespace dcsctp { class StreamPriorityTag; }
18namespace dcsctp { class TimeoutTag; }
19namespace dcsctp { struct DcSctpOptions; }
20namespace dcsctp { struct DcSctpSocketHandoverState; }
21namespace dcsctp { struct Metrics; }
22namespace dcsctp { struct SendOptions; }
23// clang-format on
24
25namespace dcsctp {
26
28public:
29 // virtual functions
30 // NOLINTBEGIN
31 virtual ~DcSctpSocketInterface() = default;
32
33 virtual void ReceivePacket(::rtc::ArrayView<uchar const>) = 0;
34
35 virtual void HandleTimeout(::webrtc::StrongAlias<::dcsctp::TimeoutTag, uint64>) = 0;
36
37 virtual void Connect() = 0;
38
39 virtual void RestoreFromState(::dcsctp::DcSctpSocketHandoverState const&) = 0;
40
41 virtual void Shutdown() = 0;
42
43 virtual void Close() = 0;
44
45 virtual ::dcsctp::SocketState state() const = 0;
46
47 virtual ::dcsctp::DcSctpOptions const& options() const = 0;
48
49 virtual void SetMaxMessageSize(uint64) = 0;
50
51 virtual void SetStreamPriority(
54 ) = 0;
55
56 virtual ::webrtc::StrongAlias<::dcsctp::StreamPriorityTag, ushort>
58
59 virtual ::dcsctp::SendStatus Send(::dcsctp::DcSctpMessage, ::dcsctp::SendOptions const&) = 0;
60
61 virtual ::std::vector<::dcsctp::SendStatus>
63
64 virtual ::dcsctp::ResetStreamsStatus
66
67 virtual uint64 buffered_amount(::webrtc::StrongAlias<::dcsctp::StreamIDTag, ushort>) const = 0;
68
69 virtual uint64 buffered_amount_low_threshold(::webrtc::StrongAlias<::dcsctp::StreamIDTag, ushort>) const = 0;
70
71 virtual void SetBufferedAmountLowThreshold(::webrtc::StrongAlias<::dcsctp::StreamIDTag, ushort>, uint64) = 0;
72
73 virtual ::std::optional<::dcsctp::Metrics> GetMetrics() const = 0;
74
75 virtual ::dcsctp::HandoverReadinessStatus GetHandoverReadiness() const = 0;
76
77 virtual ::std::optional<::dcsctp::DcSctpSocketHandoverState> GetHandoverStateAndClose() = 0;
78
79 virtual ::dcsctp::SctpImplementation peer_implementation() const;
80 // NOLINTEND
81
82public:
83 // virtual function thunks
84 // NOLINTBEGIN
85
86 // NOLINTEND
87};
88
89} // namespace dcsctp
Definition DcSctpMessage.h:16
Definition DcSctpSocketInterface.h:27
Definition HandoverReadinessStatus.h:15
Definition StreamIDTag.h:7
Definition StreamPriorityTag.h:7
Definition TimeoutTag.h:7
Definition _HeaderOutputPredefine.h:309
Definition StrongAlias.h:8
Definition DcSctpOptions.h:7
Definition DcSctpSocketHandoverState.h:7
Definition Metrics.h:7
Definition SendOptions.h:7