From owner-freebsd-hackers Tue May 27 10:15:37 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.5/8.8.5) id KAA22722 for hackers-outgoing; Tue, 27 May 1997 10:15:37 -0700 (PDT) Received: from smtp1.ts.kiev.ua (viking.ts.kiev.ua [193.124.229.195]) by hub.freebsd.org (8.8.5/8.8.5) with ESMTP id KAA22717 for ; Tue, 27 May 1997 10:15:26 -0700 (PDT) Received: from aviion.ts.kiev.ua by smtp1.ts.kiev.ua with SMTP id TAA13875; (8.8.3/zah/2.1) Tue, 27 May 1997 19:59:57 +0300 (EET DST) Received: from nbki.ipri.kiev.ua by aviion.ts.kiev.ua with ESMTP id RAA00787; (8.6.11/zah/2.1) Tue, 27 May 1997 17:33:42 GMT Received: from cki.ipri.kiev.ua by nbki.ipri.kiev.ua with ESMTP id SAA05160; (8.6.9/zah/1.1) Tue, 27 May 1997 18:41:55 +0100 Received: from 194.44.146.14 (mac.ipri.kiev.ua [194.44.146.14]) by cki.ipri.kiev.ua (8.7.6/8.7.3) with SMTP id TAA02702; Tue, 27 May 1997 19:00:28 +0300 (EET DST) Message-ID: <338AF74F.2E3D@cki.ipri.kiev.ua> Date: Tue, 27 May 1997 18:01:15 +0300 From: Ruslan Shevchenko Reply-To: rssh@cki.ipri.kiev.ua Organization: IPRI X-Mailer: Mozilla 3.01Gold (Macintosh; I; 68K) MIME-Version: 1.0 To: Christopher Sedore CC: FreeBSD-Hackers@FreeBSD.ORG Subject: Re: async socket stuff References: Content-Type: text/plain; charset=koi8-r Content-Transfer-Encoding: 7bit Sender: owner-hackers@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk Christopher Sedore wrote: > > I've been thinking about implementing some async socket handling code and > am wondering if someone else is doing this or has done it. I've been > thinking about two different approaches: > > 1. Creating a new ioctl set and a few syscalls to allow you to > associate a socket with something like an NT I/O completion port. This > would allow you to associate a socket descriptor with a queue and each > time the socket's status changed (via sorwakeup or sowwakeup) I'd post an > entry into the queue. The idea is that rather than using select() and > then searching through a list of descriptors, you could just read them off > one (or many) at a time and do I/O on the appropriate descriptors. This > seems to me to be more efficient than select(). What process must do, if it queue is emty ? --- if wait, it's simular to select call. In principle it can be option in general net library. > > 2. Implementing general async I/O for sockets. Then, rather than (or > perhaps in addition to) the above functionality, you could use the queue > to hold results of async operations. > > I've also thought of adding a call like NT's TransmitFile() (single call > file transfer). > why syscoll ? You think, taht it is systel-level stuff ? It can be do in extra library. And about net calls : are somebody know, is exixts TLI compability library ? > Comments? Suggestions? Criticisms? > > -Chris