Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Message-ID: <003501c4a1e5$153b3140$0aad04d5@d5o2l2> From: "Doblejota" To: Subject: Cygwin/DOS pipes, TCP/IP Date: Fri, 24 Sep 2004 05:16:00 +0200 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Hi, I'm trying to download a page until an expression (server doesn't accept ranges): curl -N url | sed -u "/expression/q" > file Sed finds the expression, then exits, breaks pipe, interrupts curl (it produces a writing error message), the file contains expected result. Nice, but it downloads much more bytes than the file size. I force unbuffered behaviour, but I work on a Cygwin/DOS enviroment, I'm afraid that programs are not concurrent, so DOS would buffer information before swaping. Am I right? BTW, anyone can give me some links with internal information of filter pipes on DOS/Windows? Could it be a net protocol side-effect? Anything relative to the minimum size of every package? In university I learnt that net protocols use transference window, I mean, client requests several message parts at the same time, not sequentially. Perhaps curl (or a lower layer) receives information that it doesn't read yet. The socket is closed, then must I pay all the other packages?. Is there a way to modify the package, window size in TCP/IP? You can propose me alternative ways to do the same task, of course. Thanks a lot. -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/