From 97908ce887645181c27a8070b3e2a8ad0d8524f0 Mon Sep 17 00:00:00 2001 From: h7x4 Date: Tue, 16 Dec 2025 18:50:22 +0900 Subject: [PATCH] core/protocol: set request/response max size --- src/core/protocol/commands.rs | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/src/core/protocol/commands.rs b/src/core/protocol/commands.rs index 5ba9c2e..5c0540f 100644 --- a/src/core/protocol/commands.rs +++ b/src/core/protocol/commands.rs @@ -55,13 +55,26 @@ pub type ClientToServerMessageStream = SerdeFramed< Bincode, >; -pub fn create_server_to_client_message_stream(socket: UnixStream) -> ServerToClientMessageStream { - let length_delimited = Framed::new(socket, LengthDelimitedCodec::new()); +const MAX_REQUEST_FRAME_LENGTH: usize = 100 * 1024; // 100 KB +const MAX_RESPONSE_FRAME_LENGTH: usize = 1024 * 1024; // 1 MB + +pub fn create_client_to_server_message_stream(socket: UnixStream) -> ClientToServerMessageStream { + let codec = { + let mut codec = LengthDelimitedCodec::new(); + codec.set_max_frame_length(MAX_REQUEST_FRAME_LENGTH); + codec + }; + let length_delimited = Framed::new(socket, codec); tokio_serde::Framed::new(length_delimited, Bincode::default()) } -pub fn create_client_to_server_message_stream(socket: UnixStream) -> ClientToServerMessageStream { - let length_delimited = Framed::new(socket, LengthDelimitedCodec::new()); +pub fn create_server_to_client_message_stream(socket: UnixStream) -> ServerToClientMessageStream { + let codec = { + let mut codec = LengthDelimitedCodec::new(); + codec.set_max_frame_length(MAX_RESPONSE_FRAME_LENGTH); + codec + }; + let length_delimited = Framed::new(socket, codec); tokio_serde::Framed::new(length_delimited, Bincode::default()) }