Convert SocketStream to use new StreamInterface API
Bug: webrtc:14632
Change-Id: I09a6799a9b70f073dde5b7074e4431570c8c9c67
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/283543
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38641}
diff --git a/rtc_base/socket_stream.cc b/rtc_base/socket_stream.cc
index a526f0c..5c993ea 100644
--- a/rtc_base/socket_stream.cc
+++ b/rtc_base/socket_stream.cc
@@ -60,42 +60,36 @@
}
}
-StreamResult SocketStream::Read(void* buffer,
- size_t buffer_len,
- size_t* read,
- int* error) {
+StreamResult SocketStream::Read(rtc::ArrayView<uint8_t> buffer,
+ size_t& read,
+ int& error) {
RTC_DCHECK(socket_ != nullptr);
- int result = socket_->Recv(buffer, buffer_len, nullptr);
+ int result = socket_->Recv(buffer.data(), buffer.size(), nullptr);
if (result < 0) {
if (socket_->IsBlocking())
return SR_BLOCK;
- if (error)
- *error = socket_->GetError();
+ error = socket_->GetError();
return SR_ERROR;
}
- if ((result > 0) || (buffer_len == 0)) {
- if (read)
- *read = result;
+ if ((result > 0) || (buffer.size() == 0)) {
+ read = result;
return SR_SUCCESS;
}
return SR_EOS;
}
-StreamResult SocketStream::Write(const void* data,
- size_t data_len,
- size_t* written,
- int* error) {
+StreamResult SocketStream::Write(rtc::ArrayView<const uint8_t> data,
+ size_t& written,
+ int& error) {
RTC_DCHECK(socket_ != nullptr);
- int result = socket_->Send(data, data_len);
+ int result = socket_->Send(data.data(), data.size());
if (result < 0) {
if (socket_->IsBlocking())
return SR_BLOCK;
- if (error)
- *error = socket_->GetError();
+ error = socket_->GetError();
return SR_ERROR;
}
- if (written)
- *written = result;
+ written = result;
return SR_SUCCESS;
}