- From: "Heywood, Simon " <Simon.Heywood AT thalesgroup.com>
- To: "SCTP discussion (E-mail)" <discussion AT sctp.de>
- Subject: [SCTP-Discussion] ext_recvmsg() and signalling the end of a data stream
- Date: Thu Jun 10 18:07:01 2004
- List-id: SCTP Discussions <discussion.sctp.de>
Hopefully someone can help me to solve this problem, or at least tell me
that I'm going about it in the wrong way. ;-)
I'm working on some code that transmits several streams of data over an SCTP
association. At the receiving end I repeatedly call ext_recvmsg() in a loop,
the data being extracted from the message and processed according to the
stream ID.
What I'd like to know is if there's a way of signalling that I've finished
sending data over one of the streams. In a TCP connection, recvmsg() returns
zero when the sending end has closed the connection. But with SCTP, the
'connection' is the whole association, so the analogy clearly doesn't extend
that far.
The software has previously used stream 0 to send non-data messages
describing what is going over the other streams. But these control messages
sometimes get out of sequence with the data on the streams they're
describing, because ordering is only preserved per stream. I suppose the
obvious way to solve that would be to do away with the control stream and
prepend headers to each data unit, but I'm bothered (perhaps unnecessarily)
about the impact this will have on performance.
S.
- [SCTP-Discussion] ext_recvmsg() and signalling the end of a data stream, Heywood, Simon , 06/10/2004
Archive powered by MHonArc 2.6.19+.