From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) by lore.proxmox.com (Postfix) with ESMTPS id 18ACF1FF16B for ; Thu, 9 Jan 2025 15:07:13 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 5777710033; Thu, 9 Jan 2025 15:06:57 +0100 (CET) From: Christian Ebner To: pbs-devel@lists.proxmox.com Date: Thu, 9 Jan 2025 15:06:22 +0100 Message-Id: <20250109140623.329770-5-c.ebner@proxmox.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250109140623.329770-1-c.ebner@proxmox.com> References: <20250109140623.329770-1-c.ebner@proxmox.com> MIME-Version: 1.0 X-SPAM-LEVEL: Spam detection results: 0 AWL 0.030 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 Subject: [pbs-devel] [PATCH v3 proxmox-backup 4/5] client: reader: add finish method to signal client state to server 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: , Reply-To: Proxmox Backup Server development discussion Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: pbs-devel-bounces@lists.proxmox.com Sender: "pbs-devel" Signal the server that the client has finished its operation and is about to close the connection. This allows the server side to react accordingly. Termination of the reader connection after successuful completion is now no longer logged as connection error, which has caused confusion [0]. Report in the community forum: [0] https://forum.proxmox.com/threads/158306/ Signed-off-by: Christian Ebner --- changes since version 2: - instead of implicitly calling the `finish` endpoint on drop, require an explicit method call. pbs-client/src/backup_reader.rs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pbs-client/src/backup_reader.rs b/pbs-client/src/backup_reader.rs index 18442ebca..3474c8ce3 100644 --- a/pbs-client/src/backup_reader.rs +++ b/pbs-client/src/backup_reader.rs @@ -77,6 +77,12 @@ impl BackupReader { Ok(BackupReader::new(h2, abort, crypt_config)) } + /// Terminate reader session by signaling server via `finish` api call before closing connection + pub async fn finish(self: Arc) -> Result<(), Error> { + let _value = self.post("finish", None).await?; + Ok(()) + } + /// Execute a GET request pub async fn get(&self, path: &str, param: Option) -> Result { self.h2.get(path, param).await -- 2.39.5 _______________________________________________ pbs-devel mailing list pbs-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel