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/ArrayView.h"
11#include "mc/external/webrtc/StrongAlias.h"
12
13// auto generated forward declare list
14// clang-format off
15namespace dcsctp { class DcSctpMessage; }
16namespace dcsctp { class HandoverReadinessStatus; }
17namespace dcsctp { class StreamIDTag; }
18namespace dcsctp { class StreamPriorityTag; }
19namespace dcsctp { class TimeoutTag; }
20namespace dcsctp { struct DcSctpOptions; }
21namespace dcsctp { struct DcSctpSocketHandoverState; }
22namespace dcsctp { struct Metrics; }
23namespace dcsctp { struct SendOptions; }
24// clang-format on
25
26namespace dcsctp {
27
29public:
30 // virtual functions
31 // NOLINTBEGIN
32 virtual ~DcSctpSocketInterface() = default;
33
34 virtual void ReceivePacket(::webrtc::ArrayView<uchar const> data) = 0;
35
36 virtual uint64 MessagesReady() const = 0;
37
38 virtual ::std::optional<::dcsctp::DcSctpMessage> GetNextMessage() = 0;
39
40 virtual void HandleTimeout(::webrtc::StrongAlias<::dcsctp::TimeoutTag, uint64> timeout_id) = 0;
41
42 virtual void Connect() = 0;
43
44 virtual void RestoreFromState(::dcsctp::DcSctpSocketHandoverState const& state) = 0;
45
46 virtual void Shutdown() = 0;
47
48 virtual void Close() = 0;
49
50 virtual ::dcsctp::SocketState state() const = 0;
51
52 virtual ::dcsctp::DcSctpOptions const& options() const = 0;
53
54 virtual void SetMaxMessageSize(uint64 max_message_size) = 0;
55
56 virtual void SetStreamPriority(
59 ) = 0;
60
61 virtual ::webrtc::StrongAlias<::dcsctp::StreamPriorityTag, ushort>
62 GetStreamPriority(::webrtc::StrongAlias<::dcsctp::StreamIDTag, ushort> stream_id) const = 0;
63
64 virtual ::dcsctp::SendStatus Send(::dcsctp::DcSctpMessage message, ::dcsctp::SendOptions const& send_options) = 0;
65
66 virtual ::std::vector<::dcsctp::SendStatus>
67 SendMany(::webrtc::ArrayView<::dcsctp::DcSctpMessage> messages, ::dcsctp::SendOptions const& send_options) = 0;
68
69 virtual ::dcsctp::ResetStreamsStatus
70 ResetStreams(::webrtc::ArrayView<::webrtc::StrongAlias<::dcsctp::StreamIDTag, ushort> const> outgoing_streams) = 0;
71
72 virtual uint64 buffered_amount(::webrtc::StrongAlias<::dcsctp::StreamIDTag, ushort> stream_id) const = 0;
73
74 virtual uint64
75 buffered_amount_low_threshold(::webrtc::StrongAlias<::dcsctp::StreamIDTag, ushort> stream_id) const = 0;
76
77 virtual void
78 SetBufferedAmountLowThreshold(::webrtc::StrongAlias<::dcsctp::StreamIDTag, ushort> stream_id, uint64 bytes) = 0;
79
80 virtual ::std::optional<::dcsctp::Metrics> GetMetrics() const = 0;
81
82 virtual ::dcsctp::HandoverReadinessStatus GetHandoverReadiness() const = 0;
83
84 virtual ::std::optional<::dcsctp::DcSctpSocketHandoverState> GetHandoverStateAndClose() = 0;
85
86 virtual ::dcsctp::SctpImplementation peer_implementation() const;
87 // NOLINTEND
88};
89
90} // namespace dcsctp
Definition DcSctpMessage.h:7
Definition DcSctpSocketInterface.h:28
Definition HandoverReadinessStatus.h:15
Definition StreamIDTag.h:7
Definition StreamPriorityTag.h:7
Definition TimeoutTag.h:7
Definition ArrayView.h:8
Definition StrongAlias.h:8
Definition DcSctpOptions.h:7
Definition DcSctpSocketHandoverState.h:7
Definition Metrics.h:7
Definition SendOptions.h:7