Date: Tue, 27 May 1997 16:27:44 -0400 (EDT) From: Christopher Sedore <cmsedore@mailbox.syr.edu> To: Ben Black <black@zen.cypher.net> Cc: Ruslan Shevchenko <rssh@cki.ipri.kiev.ua>, FreeBSD-Hackers@FreeBSD.ORG Subject: Re: async socket stuff Message-ID: <Pine.SOL.3.95.970527144252.2510A-100000@rodan.syr.edu> In-Reply-To: <Pine.LNX.3.91.970527142319.1463A-100000@zen.cypher.net>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 27 May 1997, Ben Black wrote: > > > > It sure could, but you end up with many more system calls, and it is not > > async. The real advantage to a call like TransmitFile() is that you can > > send an entire file (or a range of a file) with a single system call, and > > you can do it async. This means that you can more efficiently implement > > things like FTP servers, Web servers, pop servers, etc. > > > > i think we have a terminology problem here. i would honestly be amazed > if NT implemented TransmitFile() in the kernel (making it a syscall). i > think it more likely that it is a library routine that is built on top of > async IO. Well, you might better arrange to be amazed :) It is an NT system call. It's exact purpose is to avoid a read(file,buf)/write(sock,buf) loop with the associated user/system switch for each call. Async doesn't buy you anything here except the ability to do it in the background. > btw, NT is probably the WORST place to look for inspiration. just look > at their TCP sequence generation algorithm. I figure that I'll borrow good ideas from where ever they come...Nobody does everything "right" by universal or any given individual's standards. I'd just like to see FreeBSD add some enhancements to make it easier/more efficient for high load network applications (since I'm now breaking NT's IP stack under load). Threads (true threads, mind you) would be nice, but kernel based async IO and a few other goodies would make a big difference. -Chris
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.SOL.3.95.970527144252.2510A-100000>