Reapply "Refactor AsyncTcpSocket(s) to use rtc::ReceivedPackets"
This reverts commit 264547d084d8625c60a31b15843779173d3c95b8.
Refactor AsyncTcpSocket(s) to use rtc::ReceivedPackets
Patchset 1 contains original cl.
Newer patchsets contains fix of the problem from pathset 1.
Bug: webrtc:15368, webrtc:11943
Change-Id: Ib8c4c06daf502a5dec8c31beea78eacac8c3c644
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/328820
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Jonas Oreland <jonaso@google.com>
Cr-Commit-Position: refs/heads/main@{#41255}
diff --git a/rtc_base/async_tcp_socket.h b/rtc_base/async_tcp_socket.h
index 90f77d6..d3aff60 100644
--- a/rtc_base/async_tcp_socket.h
+++ b/rtc_base/async_tcp_socket.h
@@ -16,6 +16,7 @@
#include <cstdint>
#include <memory>
+#include "api/array_view.h"
#include "rtc_base/async_packet_socket.h"
#include "rtc_base/buffer.h"
#include "rtc_base/socket.h"
@@ -38,7 +39,8 @@
int Send(const void* pv,
size_t cb,
const rtc::PacketOptions& options) override = 0;
- virtual void ProcessInput(char* data, size_t* len) = 0;
+ // Must return the number of bytes processed.
+ virtual size_t ProcessInput(rtc::ArrayView<const uint8_t> data) = 0;
SocketAddress GetLocalAddress() const override;
SocketAddress GetRemoteAddress() const override;
@@ -100,7 +102,7 @@
int Send(const void* pv,
size_t cb,
const rtc::PacketOptions& options) override;
- void ProcessInput(char* data, size_t* len) override;
+ size_t ProcessInput(rtc::ArrayView<const uint8_t>) override;
};
class AsyncTcpListenSocket : public AsyncListenSocket {