[erlang-questions] : : : : : sctp_peeloff() support in OTP

Valentin Micic <>
Thu Apr 23 19:15:16 CEST 2009


> But I am now under the assumption that a stream separation
> that does not utilize additional file descriptors
> (as you ask for) can not do per-stream flow control
> (with respect to remote peer) and therefore is not useful.

> Prove me wrong and I might do it.

Proving you wrong may take some time. :-)

AFAIK, flow control is explicitly defined only at association level. Having
said that, please note that each data-chunk (hence stream traffic) has to be
individually acknowledged -- if acknowledge is not received, sender will not
send more data for a given stream. Unfortunately, this will not prevent
sender to send the same data chunk again, confusing a lack of
acknowledgement for a loss of a chunk...
I need to read a bit about it, however, not sure if any amount of reading
can help me here.

But more importantly than proving you wrong:
I know that you would be able to use a separate file descriptor to move a
specific association from one-to-many to one-to-one socket. That association
may have more than one stream (which would typically be a case), so you're
back to where you were with respect to {active, once} and head-of-line
blocking. Don't know how this can be done for individual stream (assuming
that file descriptor = socket).


Regards,

V.




More information about the erlang-questions mailing list