Remove deprecated rtc::StreamInterface functions

This cleans up the last vestiges of the old interface for rtc::StreamInterface
and will cause builds to refer to the old functions to fail.

Bug: webrtc:14632
Change-Id: I569b16677754d7f9e08449e273672a59a86e6498
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/283844
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38784}
This commit is contained in:
Harald Alvestrand 2022-11-17 10:50:45 +00:00 committed by WebRTC LUCI CQ
parent e0b4cab69c
commit cf7077693c
4 changed files with 14 additions and 88 deletions

View file

@ -561,21 +561,6 @@ void OpenSSLStreamAdapter::SetInitialRetransmissionTimeout(int timeout_ms) {
// //
// StreamInterface Implementation // StreamInterface Implementation
// //
// Backwards compatible Write() method using deprecated API.
// Needed because deprecated API is still =0 in API definition.
StreamResult OpenSSLStreamAdapter::Write(const void* data,
size_t data_len,
size_t* written,
int* error) {
// TODO(bugs.webrtc.org/14632): Consider doing
// RTC_CHECK_NOTREACHED(); when downstream usage is eliminated.
size_t dummy_written;
int dummy_error;
return Write(
rtc::MakeArrayView(reinterpret_cast<const uint8_t*>(data), data_len),
written ? *written : dummy_written, error ? *error : dummy_error);
}
StreamResult OpenSSLStreamAdapter::Write(rtc::ArrayView<const uint8_t> data, StreamResult OpenSSLStreamAdapter::Write(rtc::ArrayView<const uint8_t> data,
size_t& written, size_t& written,
int& error) { int& error) {
@ -637,19 +622,6 @@ StreamResult OpenSSLStreamAdapter::Write(rtc::ArrayView<const uint8_t> data,
// not reached // not reached
} }
// Backwards compatible Read() method using deprecated API.
StreamResult OpenSSLStreamAdapter::Read(void* data,
size_t data_len,
size_t* read,
int* error) {
// TODO(bugs.webrtc.org/14632): Consider doing
// RTC_CHECK_NOTREACHED() when downstream usage is thought to be eliminated.
size_t dummy_read;
int dummy_error;
return Read(rtc::MakeArrayView(reinterpret_cast<uint8_t*>(data), data_len),
read ? *read : dummy_read, error ? *error : dummy_error);
}
StreamResult OpenSSLStreamAdapter::Read(rtc::ArrayView<uint8_t> data, StreamResult OpenSSLStreamAdapter::Read(rtc::ArrayView<uint8_t> data,
size_t& read, size_t& read,
int& error) { int& error) {

View file

@ -95,16 +95,9 @@ class OpenSSLStreamAdapter final : public SSLStreamAdapter {
void SetMaxProtocolVersion(SSLProtocolVersion version) override; void SetMaxProtocolVersion(SSLProtocolVersion version) override;
void SetInitialRetransmissionTimeout(int timeout_ms) override; void SetInitialRetransmissionTimeout(int timeout_ms) override;
[[deprecated("bugs.webrtc.org/14632")]] StreamResult
Read(void* data, size_t data_len, size_t* read, int* error) override;
StreamResult Read(rtc::ArrayView<uint8_t> data, StreamResult Read(rtc::ArrayView<uint8_t> data,
size_t& read, size_t& read,
int& error) override; int& error) override;
[[deprecated("bugs.webrtc.org/14632")]] StreamResult Write(
const void* data,
size_t data_len,
size_t* written,
int* error) override;
StreamResult Write(rtc::ArrayView<const uint8_t> data, StreamResult Write(rtc::ArrayView<const uint8_t> data,
size_t& written, size_t& written,
int& error) override; int& error) override;

View file

@ -160,15 +160,12 @@ class SSLDummyStreamBase : public rtc::StreamInterface,
rtc::StreamState GetState() const override { return rtc::SS_OPEN; } rtc::StreamState GetState() const override { return rtc::SS_OPEN; }
rtc::StreamResult Read(void* buffer, rtc::StreamResult Read(rtc::ArrayView<uint8_t> buffer,
size_t buffer_len, size_t& read,
size_t* read, int& error) override {
int* error) override {
rtc::StreamResult r; rtc::StreamResult r;
r = in_->Read( r = in_->Read(buffer, read, error);
rtc::MakeArrayView(reinterpret_cast<uint8_t*>(buffer), buffer_len),
*read, *error);
if (r == rtc::SR_BLOCK) if (r == rtc::SR_BLOCK)
return rtc::SR_BLOCK; return rtc::SR_BLOCK;
if (r == rtc::SR_EOS) if (r == rtc::SR_EOS)
@ -255,12 +252,11 @@ class BufferQueueStream : public rtc::StreamInterface {
rtc::StreamState GetState() const override { return rtc::SS_OPEN; } rtc::StreamState GetState() const override { return rtc::SS_OPEN; }
// Reading a buffer queue stream will either succeed or block. // Reading a buffer queue stream will either succeed or block.
rtc::StreamResult Read(void* buffer, rtc::StreamResult Read(rtc::ArrayView<uint8_t> buffer,
size_t buffer_len, size_t& read,
size_t* read, int& error) override {
int* error) override {
const bool was_writable = buffer_.is_writable(); const bool was_writable = buffer_.is_writable();
if (!buffer_.ReadFront(buffer, buffer_len, read)) if (!buffer_.ReadFront(buffer.data(), buffer.size(), &read))
return rtc::SR_BLOCK; return rtc::SR_BLOCK;
if (!was_writable) if (!was_writable)
@ -270,12 +266,11 @@ class BufferQueueStream : public rtc::StreamInterface {
} }
// Writing to a buffer queue stream will either succeed or block. // Writing to a buffer queue stream will either succeed or block.
rtc::StreamResult Write(const void* data, rtc::StreamResult Write(rtc::ArrayView<const uint8_t> data,
size_t data_len, size_t& written,
size_t* written, int& error) override {
int* error) override {
const bool was_readable = buffer_.is_readable(); const bool was_readable = buffer_.is_readable();
if (!buffer_.WriteBack(data, data_len, written)) if (!buffer_.WriteBack(data.data(), data.size(), &written))
return rtc::SR_BLOCK; return rtc::SR_BLOCK;
if (!was_readable) if (!was_readable)

View file

@ -70,46 +70,12 @@ class RTC_EXPORT StreamInterface {
// SR_EOS: the end-of-stream has been reached, or the stream is in the // SR_EOS: the end-of-stream has been reached, or the stream is in the
// SS_CLOSED state. // SS_CLOSED state.
// The deprecated method has a default implementation that may be
// overridden in subclasses, rather than being =0.
// This allows subclasses to delete the method.
// TODO(bugs.webrtc.org/14632): Remove when downstream is converted.
[[deprecated("Use ArrayView version")]] virtual StreamResult
Read(void* buffer, size_t buffer_len, size_t* read, int* error) {
RTC_CHECK_NOTREACHED();
}
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
// Preserve backwards compatibility using a default implementation
// because there are subclasses
// outside of the WebRTC codebase that need to be converted.
//
// TODO(bugs.webrtc.org/14632): Remove when downstream is converted.
virtual StreamResult Read(rtc::ArrayView<uint8_t> buffer, virtual StreamResult Read(rtc::ArrayView<uint8_t> buffer,
size_t& read, size_t& read,
int& error) { int& error) = 0;
return Read(buffer.data(), buffer.size(), &read, &error);
}
#pragma clang diagnostic pop
// The deprecated method has a default implementation that may be
// overridden in subclasses, rather than being =0.
// This allows subclasses to delete the method.
// TODO(bugs.webrtc.org/14632): Remove when downstream is converted.
[[deprecated("Use ArrayView version")]] virtual StreamResult
Write(const void* data, size_t data_len, size_t* written, int* error) {
RTC_CHECK_NOTREACHED();
}
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
virtual StreamResult Write(rtc::ArrayView<const uint8_t> data, virtual StreamResult Write(rtc::ArrayView<const uint8_t> data,
size_t& written, size_t& written,
int& error) { int& error) = 0;
return Write(data.data(), data.size(), &written, &error);
}
#pragma clang diagnostic pop
// Attempt to transition to the SS_CLOSED state. SE_CLOSE will not be // Attempt to transition to the SS_CLOSED state. SE_CLOSE will not be
// signalled as a result of this call. // signalled as a result of this call.