From owner-freebsd-hackers Mon Dec 22 00:35:15 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.7/8.8.7) id AAA08434 for hackers-outgoing; Mon, 22 Dec 1997 00:35:15 -0800 (PST) (envelope-from owner-freebsd-hackers) Received: from acroal.com (firewall0.acroal.com [209.24.61.154]) by hub.freebsd.org (8.8.7/8.8.7) with ESMTP id AAA08427 for ; Mon, 22 Dec 1997 00:35:10 -0800 (PST) (envelope-from jamil@acroal.com) Received: from localhost (jamil@localhost) by acroal.com (8.8.8/8.8.7) with SMTP id AAA02567 for ; Mon, 22 Dec 1997 00:35:09 -0800 (PST) (envelope-from jamil@acroal.com) Date: Mon, 22 Dec 1997 00:35:09 -0800 (PST) From: "J. Weatherbee - Senior Systems Architect" To: hackers@freebsd.org Subject: Descriptor vectorized read/write? In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-hackers@freebsd.org X-Loop: FreeBSD.org Precedence: bulk And in addition to this, has anyone ever though of implement vectorized read/write calls that are vectorized across multiple descriptors. i.e reading from multiple descriptors into buffers simultaneously, possibly implemented similarily to the way poll(2) is. i.e (multiple duplicate fd's with same direction handled the same as readv/writev scatter io) --------------------------------------------------------------------------- void mreadv (const struct miovec *miov, int miovcnt); struct miovec { int fd; /* file descriptor */ int err; /* error status/ return count / initially i/o direction * MREAD/MWRITE */ char *base; /* base address */ size_t len; /* io length */ }; ---------------------------------------------------------------------------