From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from gate001.proxmox.com (gate001.proxmox.com [45.144.208.40]) by lore.proxmox.com (Postfix) with ESMTPS id F338F1FF0B2 for ; Mon, 24 Aug 2026 15:47:13 +0200 (CEST) Received: from gate001.proxmox.com (localhost.localdomain [127.0.0.1]) by gate001.proxmox.com (Proxmox) with ESMTP id BB83A215A6; Mon, 24 Aug 2026 15:47:13 +0200 (CEST) Mime-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=UTF-8 Date: Mon, 24 Aug 2026 15:47:09 +0200 Message-Id: Subject: Re: [PATCH datacenter-manager v2 16/20] api-cache: add wrapper type From: "Lukas Wagner" To: "Dominik Csapak" , "Lukas Wagner" , X-Mailer: aerc 0.21.0-0-g5549850facc2-dirty References: <20260820145220.418032-1-l.wagner@proxmox.com> <20260820145220.418032-17-l.wagner@proxmox.com> <20fd1678-99b3-44d4-917d-f27d519bef0d@proxmox.com> In-Reply-To: <20fd1678-99b3-44d4-917d-f27d519bef0d@proxmox.com> X-Bm-Milter-Handled: 55990f41-d878-4baa-be0a-ee34c49e34d2 X-Bm-Transport-Timestamp: 1787579200077 X-SPAM-LEVEL: Spam detection results: 0 AWL 0.636 Adjusted score from AWL reputation of From: address DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment (newer systems) RCVD_IN_DNSWL_MED -2.3 Sender listed at https://www.dnswl.org/, medium trust SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Message-ID-Hash: 3YRJ7QOBL3FTCSCO7PCY6JKER4BCVIEP X-Message-ID-Hash: 3YRJ7QOBL3FTCSCO7PCY6JKER4BCVIEP X-MailFrom: l.wagner@proxmox.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10 Precedence: list List-Id: Proxmox Datacenter Manager development discussion List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: On Mon Aug 24, 2026 at 2:33 PM CEST, Dominik Csapak wrote: > i'm missing a bit here why we need a wrapper around a type we fully > control here? couldn't we use NamespacedCache directly? > > what advantage has wrapping it in this way? > > To me it's not immediately obvious, so a short sentence > in the commit message or as comment on the struct, would be good. Sorry, I'll try to add additional justification in the commit message in the next iteration. NamespacedCache is supposed to be fully generic and eventually be moved to a shared crate. ApiCache adds PDM-specific semantics, namely having per-remote namespaces and also one global namespace. Before, these additional semantics were encoded in the helper functions in api_cache.rs (e.g. read_global, read_remote), but since we want to put this thing in PdmApplication, the helpers are turned into methods of this new wrapper type. Hope with this explanation it makes more sense?