mirror of
https://github.com/mollyim/webrtc.git
synced 2025-05-12 13:20:44 +01:00

One problem with the existing Send() method is that it has a return value that is problematic for a fully async implementation. A second problem with Send() is that the return value is bool and not RTCError (webrtc:13289), which is why OnSendComplete() uses RTCError. Also, start deprecating `bool Send()` in favor of `void SendAsync()` and adding `network_safety_` flag for posting async operations to the network thread. This flag also takes over from the `connected_to_transport_` which can now be removed. Bug: webrtc:11547, webrtc:13289 Change-Id: I87bbc7e9b964a52684bdfe0e6ebc5230be254e8b Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/299760 Reviewed-by: Danil Chapovalov <danilchap@webrtc.org> Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org> Cr-Commit-Position: refs/heads/main@{#39817}
62 lines
1.5 KiB
C++
62 lines
1.5 KiB
C++
/*
|
|
* Copyright 2018 The WebRTC project authors. All Rights Reserved.
|
|
*
|
|
* Use of this source code is governed by a BSD-style license
|
|
* that can be found in the LICENSE file in the root of the source
|
|
* tree. An additional intellectual property rights grant can be found
|
|
* in the file PATENTS. All contributing project authors may
|
|
* be found in the AUTHORS file in the root of the source tree.
|
|
*/
|
|
|
|
#include "api/data_channel_interface.h"
|
|
|
|
#include "rtc_base/checks.h"
|
|
|
|
namespace webrtc {
|
|
|
|
bool DataChannelInterface::ordered() const {
|
|
return false;
|
|
}
|
|
|
|
uint16_t DataChannelInterface::maxRetransmitTime() const {
|
|
return 0;
|
|
}
|
|
|
|
uint16_t DataChannelInterface::maxRetransmits() const {
|
|
return 0;
|
|
}
|
|
|
|
absl::optional<int> DataChannelInterface::maxRetransmitsOpt() const {
|
|
return absl::nullopt;
|
|
}
|
|
|
|
absl::optional<int> DataChannelInterface::maxPacketLifeTime() const {
|
|
return absl::nullopt;
|
|
}
|
|
|
|
std::string DataChannelInterface::protocol() const {
|
|
return std::string();
|
|
}
|
|
|
|
bool DataChannelInterface::negotiated() const {
|
|
return false;
|
|
}
|
|
|
|
uint64_t DataChannelInterface::MaxSendQueueSize() {
|
|
return 16 * 1024 * 1024; // 16 MiB
|
|
}
|
|
|
|
// TODO(tommi): Remove method once downstream implementations have been removed.
|
|
bool DataChannelInterface::Send(const DataBuffer& buffer) {
|
|
RTC_DCHECK_NOTREACHED();
|
|
return false;
|
|
}
|
|
|
|
// TODO(tommi): Remove implementation once method is pure virtual.
|
|
void DataChannelInterface::SendAsync(
|
|
DataBuffer buffer,
|
|
absl::AnyInvocable<void(RTCError) &&> on_complete) {
|
|
RTC_DCHECK_NOTREACHED();
|
|
}
|
|
|
|
} // namespace webrtc
|