From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.3 (2019-12-06) on atuin.qyliss.net X-Spam-Level: X-Spam-Status: No, score=-1.2 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,SPF_HELO_PASS autolearn=unavailable autolearn_force=no version=3.4.3 Received: by atuin.qyliss.net (Postfix, from userid 496) id 57E1818CE2; Mon, 6 Jul 2020 23:15:20 +0000 (UTC) Received: from [127.0.0.1] (localhost [IPv6:::1]) by atuin.qyliss.net (Postfix) with ESMTP id A783818CC8; Mon, 6 Jul 2020 23:15:15 +0000 (UTC) Received: by atuin.qyliss.net (Postfix, from userid 496) id 26A7A1891E; Mon, 6 Jul 2020 23:15:14 +0000 (UTC) Received: from wout1-smtp.messagingengine.com (wout1-smtp.messagingengine.com [64.147.123.24]) by atuin.qyliss.net (Postfix) with ESMTPS id 9CEF918CC2 for ; Mon, 6 Jul 2020 23:15:11 +0000 (UTC) Received: from compute7.internal (compute7.nyi.internal [10.202.2.47]) by mailout.west.internal (Postfix) with ESMTP id AB0B014E6; Mon, 6 Jul 2020 19:15:09 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute7.internal (MEProxy); Mon, 06 Jul 2020 19:15:09 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alyssa.is; h= from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; s=fm3; bh=emTa8vNHwbVCG ru/mx46sBDUAkX8matsDTfnqoHcRG0=; b=iT6zkEjrKbcnrBgLuYv91aM/Y4kK1 mGUYLBiT19wggFo7mA63V6ofHmjg41B4TzUnZFVEdJIidxIu1m9XO8y1udbw/MJd zxY/gh4frZT8MDA0IUtFF9kWV5wyNcvJTiWqVhOB2cqDIEQ13B+ENNRnmhs/sMKX zoruAgB0SgR+VCZpPG86gbi1J3KmUUTvB2BLOCz6LTo68QOAFuyqdBP5d1sZ75kV MRuhtrGf9LG0f0qU0iihGpTAiqoeDPurYnCtMftH5SWfERJmnIYnUAZltMJGK394 THujUefnYMV6R6A+cpiAw9DPpqQJdAgDIxVZAmBgS13pu92kAEsTt/KUg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:date:from :in-reply-to:message-id:mime-version:references:subject:to :x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm3; bh=emTa8vNHwbVCGru/mx46sBDUAkX8matsDTfnqoHcRG0=; b=cqkcz2sa V2ZGf0EnhAH8678ulDhNPiMP2/kbBEI7c+AkZXoUxIZOrkAwQVF3B1e8P8EdF0dL W+HSqC7DhNFgHVN7A797LEPM/nLyFjBThMUy5htF2qt60V/dHe/VBXGKSG5A3kiJ b4IkjRMnrbAhIPgdP49P39GsVeDXU4EAoZNbQ0LtAGo5ySHvqgXxAWdU9LVJHVR3 MIbTW2hL1DBfD8B9oPX+bxwibu2MXOpsPCjKRWgDopmp27PjSkNIqaJDxdhNSLSU x7r2jHvNzRXRpm5+eEYnd7twYn0y5Ctaa172kAKuCYWNDkY+KLSrjBCOuLXlDtYt f0VNvo3RNIaY8w== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduiedrudeggddvtdcutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpefhvffufffkofgjfhgggfestdekredtredttdenucfhrhhomheptehlhihsshgr ucftohhsshcuoehhihesrghlhihsshgrrdhisheqnecuggftrfgrthhtvghrnhepgfefud ekvdelieelledufeevheeglefggedvudejvddtffeuueevffehleejkedvnecukfhppeej ledrvdefhedruddviedrudejleenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmh epmhgrihhlfhhrohhmpehqhihlihhsshesgidvvddtrdhqhihlihhsshdrnhgvth X-ME-Proxy: Received: from x220.qyliss.net (p4feb7eb3.dip0.t-ipconnect.de [79.235.126.179]) by mail.messagingengine.com (Postfix) with ESMTPA id B477E30653F8; Mon, 6 Jul 2020 19:15:08 -0400 (EDT) Received: by x220.qyliss.net (Postfix, from userid 1000) id 77DA3240; Mon, 6 Jul 2020 23:15:05 +0000 (UTC) From: Alyssa Ross To: devel@spectrum-os.org Subject: [PATCH crosvm 2/2 v2] sys_util: expand on UnixSeqpacket documentation Date: Mon, 6 Jul 2020 23:14:02 +0000 Message-Id: <20200706231401.16999-1-hi@alyssa.is> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200706155913.18065-1-hi@alyssa.is> References: <20200706155913.18065-1-hi@alyssa.is> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Message-ID-Hash: GLT34ZLVABP6WSEGRIPLURHNCLCYGF2M X-Message-ID-Hash: GLT34ZLVABP6WSEGRIPLURHNCLCYGF2M X-MailFrom: qyliss@x220.qyliss.net X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-config-1; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header CC: Cole Helbling X-Mailman-Version: 3.3.1 Precedence: list List-Id: Patches and low-level development discussion Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: --- Incorporated Cole's feedback. sys_util/src/net.rs | 30 ++++++++++++++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/sys_util/src/net.rs b/sys_util/src/net.rs index 82b4f5bb0..8df1743b6 100644 --- a/sys_util/src/net.rs +++ b/sys_util/src/net.rs @@ -197,7 +197,9 @@ impl UnixSeqpacket { } } =20 - /// Receive data from the socket fd to a given buffer. + /// Receive a message from the socket fd to a given buffer. The mes= sage will then + /// be removed from the socket, whether or not `buf` was large enoug= h to hold all of + /// it. /// /// # Arguments /// * `buf` - A mut reference to the data buffer. @@ -205,8 +207,32 @@ impl UnixSeqpacket { /// # Returns /// * `usize` - The size of bytes read to the buffer. /// + /// # Examples + /// + /// ``` + /// # fn main() -> Result<(), sys_util::Error> { + /// # use sys_util::net::UnixSeqpacket; + /// let (s1, s2) =3D UnixSeqpacket::pair()?; + /// s1.send(b"First message")?; + /// s1.send(b"Second message")?; + /// s1.send(b"Third message")?; + /// + /// let mut buf =3D [0; 13]; + /// assert_eq!(s2.recv(&mut buf)?, 13); + /// assert_eq!(&buf, b"First message"); + /// + /// // Even reading into a buffer zero bytes long will consume a mes= sage. + /// assert_eq!(s2.recv(&mut [])?, 0); + /// + /// let mut buf =3D [0; 5]; + /// assert_eq!(s2.recv(&mut buf)?, 5); + /// assert_eq!(&buf, b"Third"); + /// # Ok(()) + /// # } + /// ``` + /// /// # Errors - /// Returns error when `libc::recv` failed. + /// Returns an error when `libc::recv` failed. pub fn recv(&self, buf: &mut [u8]) -> io::Result { // Safe since we make sure the input `count` =3D=3D `buf.len()` = and handle the returned error. unsafe { --=20 2.26.2