From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by lists.proxmox.com (Postfix) with ESMTPS id 38CB4B8BB3 for ; Mon, 11 Mar 2024 15:05:35 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 11557A033 for ; Mon, 11 Mar 2024 15:05:05 +0100 (CET) Received: from proxmox-new.maurer-it.com (proxmox-new.maurer-it.com [94.136.29.106]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by firstgate.proxmox.com (Proxmox) with ESMTPS for ; Mon, 11 Mar 2024 15:05:04 +0100 (CET) Received: from proxmox-new.maurer-it.com (localhost.localdomain [127.0.0.1]) by proxmox-new.maurer-it.com (Proxmox) with ESMTP id C988F488D0 for ; Mon, 11 Mar 2024 15:05:03 +0100 (CET) Date: Mon, 11 Mar 2024 15:05:03 +0100 (CET) From: Christian Ebner To: Proxmox Backup Server development discussion , =?UTF-8?Q?Fabian_Gr=C3=BCnbichler?= Message-ID: <1081076067.10791.1710165903108@webmail.proxmox.com> In-Reply-To: <1710153663.gtljd8y4z5.astroid@yuna.none> References: <20240305092703.126906-1-c.ebner@proxmox.com> <20240305092703.126906-5-c.ebner@proxmox.com> <1710153663.gtljd8y4z5.astroid@yuna.none> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Priority: 3 Importance: Normal X-Mailer: Open-Xchange Mailer v7.10.6-Rev59 X-Originating-Client: open-xchange-appsuite X-SPAM-LEVEL: Spam detection results: 0 AWL 0.039 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record T_SCC_BODY_TEXT_LINE -0.01 - Subject: Re: [pbs-devel] [RFC v2 pxar 04/36] decoder: add optional payload input stream X-BeenThere: pbs-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox Backup Server development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Mar 2024 14:05:35 -0000 > On 11.03.2024 14:21 CET Fabian Gr=C3=BCnbichler wrote: >=20 > =20 >=20 > same question as for the encoder - do we want to prevent misuse here and > check/ensure that no payload_input has already been set before? > Also for the decoder I will opt for the suggestion by Dietmar and lock this down for possible misuse by adding the optional parameter to the `new` meth= od instead. >=20 > style: these two could be combined into >=20 > if let Some(payload_input) =3D self.payload_input.as_mut() { > if seq_read_position(payload_input).await.transpose()?.is_none() { > // Skip payload padding for injected chunks in sync decoder > let to_skip =3D payload_ref.offset - self.payload_consumed; > self.skip_payload(to_skip).await?; > } > } > Good, this will come in handy as Dietmar also suggested to add a header for all the payloads stored in the separated payload archive. I plan on using t= he existing PXAR_PAYLOAD header for this, also encoding the payload size. I wi= ll therefore add a check for the header here and compare the sizes as found in the payload input and metadata archives. >=20 > nit: this could also share the "skip" part with `skip_entry`, and take th= e > input and length as parameter? I opted against that, since `skip_entry` operates only on the metadata archive, the `skip_payload` however on the `payload_input`. I could however factor this out into a function which takes the input as parameter, making thereby sure to have the correct input to skip bytes. >=20 > nit: casting to usize at the start would make the code easier to parse > IMHO > Okay, I can send that as independent patch already I guess.