From eba318f64b1378158d0e0ffa6aea03b0ad71a205 Mon Sep 17 00:00:00 2001 From: Clombrong Date: Sat, 28 Jun 2025 00:53:51 +0200 Subject: fix(portal_tcp): create buffer only once in socket_to_stream --- portal/tcp/portal.ml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'portal') diff --git a/portal/tcp/portal.ml b/portal/tcp/portal.ml index f3c47e4..3b969fc 100644 --- a/portal/tcp/portal.ml +++ b/portal/tcp/portal.ml @@ -74,10 +74,9 @@ let tcp_socket (domain : string) : Lwt_unix.file_descr Lwt.t = Markup signals. *) let socket_to_stream (sock : socket) = let raw_stream = + let buffer = Bytes.create 4096 in Lwt_stream.from (fun () -> - let bsize = 4096 in - let buffer = Bytes.create bsize in - let* len = Lwt_unix.read sock buffer 0 bsize + let* len = Lwt_unix.read sock buffer 0 4096 in match len with | 0 -> Lwt.return_none | len -> Lwt.return_some (Bytes.sub_string buffer 0 len)) -- cgit v1.2.3