From 212c5927d56314e47b5c8e0f031e46f89be6fc33 Mon Sep 17 00:00:00 2001 From: Xie Zhihao Date: Wed, 16 Nov 2022 14:31:38 +0000 Subject: [PATCH] [backport] network: limit write slice size Signed-off-by: Xie Zhihao --- source/common/network/io_uring_socket_handle_impl.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/source/common/network/io_uring_socket_handle_impl.cc b/source/common/network/io_uring_socket_handle_impl.cc index f11fc9a4eed07..013ea71ed9f3b 100644 --- a/source/common/network/io_uring_socket_handle_impl.cc +++ b/source/common/network/io_uring_socket_handle_impl.cc @@ -162,7 +162,8 @@ Api::IoCallUint64Result IoUringSocketHandleImpl::writev(const Buffer::RawSlice* } Api::IoCallUint64Result IoUringSocketHandleImpl::write(Buffer::Instance& buffer) { - Buffer::RawSliceVector slices = buffer.getRawSlices(); + constexpr uint64_t MaxSlices = 16; + Buffer::RawSliceVector slices = buffer.getRawSlices(MaxSlices); auto result = writev(slices.begin(), slices.size()); if (result.return_value_ > 0) { buffer.drain(static_cast(result.return_value_));