Skip to contentSkip to conversation

Problems with Socket API: Half-Close

ANNOUNCE/RFC Gerrit Renker 2 participants 2 messages Apr 2, 2007

lore
Share & tools
lore
#0 lore raw

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

#1 lore raw
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