aboutsummaryrefslogtreecommitdiff
path: root/portal
diff options
context:
space:
mode:
authorClombrong <cromblong@egregore.fun>2025-06-28 00:53:51 +0200
committerClombrong <cromblong@egregore.fun>2025-06-28 07:38:36 +0200
commiteba318f64b1378158d0e0ffa6aea03b0ad71a205 (patch)
treed3974154f9da524d0ee50c650da4e82d47d9ca54 /portal
parentbcc6e7578ff63d4e0f37fbf3d7312e0082bdc98e (diff)
fix(portal_tcp): create buffer only once in socket_to_stream
Diffstat (limited to 'portal')
-rw-r--r--portal/tcp/portal.ml5
1 files changed, 2 insertions, 3 deletions
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))