Problems with Socket API: Half-Close
I have been experiencing problems with the way passive-close is specified for DCCP and developed a solution which avoids the following problem:
When a side receives a connection termination (Close or CloseReq), it can happen that the receive buffers are wiped out before the application had a chance to see the data; sometimes even before connect() returns.
The solution is based on implementing transitional states (PASSIVE_1/2) for passive-close. As in TCP, these are terminated after a timeout.
I have put the concept and blurb online:
http://www.erg.abdn.ac.uk/users/gerrit/dccp/docs/closing_states/
There are patches for this which I would like to submit along with the remaining ones for CCID3. I'd be glad if people could have a look at this and say if there are disagreements with the concept.
Note: This implementation concept does not affect standards-compliance
since the macroscopic behaviour is still compatible with RFC 4340.
I am however quite positive that without transitional states it will not work and the API will only function for one or two special scenarious of socket programming.
Gerrit
Quoted 5 lines · Gerrit Renker
I have been experiencing problems with the way passive-close is specified for DCCP and developed a solution which avoids the following problem:
Gerrit
This looks good to me after studying for a short while.
Signature · 3 lines
Web: http://wand.net.nz/~iam4/ Blog: http://iansblog.jandi.co.nz WAND Network Research Group