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;
 }