From mboxrd@z Thu Jan 1 00:00:00 1970 From: Gorry Fairhurst Date: Mon, 01 Oct 2007 06:23:56 +0000 Subject: Re: DCCP support in VLC Message-Id: <4700927C.5030303@erg.abdn.ac.uk> List-Id: References: <200709271930.03854.rdenis@simphalempin.com> In-Reply-To: <200709271930.03854.rdenis@simphalempin.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: dccp@vger.kernel.org Gerrit Renker wrote: > | > When the Reset closing the connection arrives, the same shutdown mask is > | > set as in TCP. What I thus think you could do as a > | > test-for-end-of-connection is to test whether the socket descriptor is > | > still read/writeable. > | > | If it works like TCP, shutdown-for-recv will make the socket always readable, > | and will not affect writeability at all, since the sending half may still be > | open. As such, I don't think it will solve the problem. > DCCP has no half-close (RFC 4340, 4.6), so closing the socket shuts down both the > read and the write end (i.e. SHUT_RDWR is set by the kernel) > - you could test for this. > > | Currently, I am assuming that length = 0 means end-of-connection, because I > | only use RTP/RTCP, so zero bytes is not a valid packet length. But that's a > | little bit ugly. > It would be better to use a different solution. > I agree. > There has also been discussion to use > 0-sized packets for keep-alive or congestion messages > (I hope that this remains talk only). > It's my understanding that the use of zero-length DATA packets as transport-layer keep alives (to probe for congestion status) was removed from the Faster Restart proposal at the last IETF DCCP WG meeting. This use was omitted from the latest revision of the FR draft. However, DCCP still does allow the application to send zero-sized DATA from the API, just as UDP currently permits. (You may never wish to use this if you have an application layered over RTP.) Gorry