SCTP Discussions

Text archives Help


Re: [SCTP-Discussion] sctp_send() with large data


Chronological Thread 
  • From: Michael Tuexen <Michael.Tuexen AT micmac.franken.de>
  • To: sihm AT cs.princeton.edu
  • Cc: sctp-discussion AT sctp.de
  • Subject: Re: [SCTP-Discussion] sctp_send() with large data
  • Date: Sun, 19 Oct 2008 19:58:28 +0200
  • List-archive: <http://lists.franken.de/pipermail/sctp-discussion>
  • List-id: SCTP Discussions <sctp-discussion.sctp.de>

On Oct 19, 2008, at 7:53 PM, Sunghwan Ihm wrote:

Hi Michael,

Thank you for your quick response. I googled "sctplib partial
delivery" and I found that the issue was already mentioned in this
list back in 2002. Maybe I should change my code to issue sctp_send()
with small messages, and have the receiver side to reassemble the
original large message. But it would be definitely helpful if
sctp_send() returns an appropriate error message when the message is
larger than the receiver window, and the receiver is unable to send
it. (Even sendFailureNotif() callback was not called.) Anyway I really
appreciate your help again.
Hmm. I do not think it is appropriate for he send call to return
an error, because the sender can not know if the peer supports the
partial delivery API. Maybe the receiver should return an ABORT
indicating that it has no resources.

However, the sctplib is not under active development anymore. So
I really suggest to move to a kernel implementation. Is there
any reason why you can not use the Linux kernel implementation?
When using the socket API you can even port your application
to FreeBSD and Solaris...

Best regards
Michael


Thanks,
Sunghwan

On Sun, Oct 19, 2008 at 6:03 AM, Michael Tuexen
<Michael.Tuexen AT micmac.franken.de>
wrote:
Hi Sunghwan,

the sctplib does not support the partial delivery API. So
you can not send messages larger than the receiver window.

Best regards
Michael

On Oct 18, 2008, at 11:36 PM, Sunghwan Ihm wrote:

Hello,

I'm trying a simple client and server program with sctplib, but I
encountered a strange behavior. The server takes a file as an input,
and sends the content of the file to the client with sctp_send() call.
Since the file size is about 2MB, the server calls sctp_send()
multiple times, each with about 128~256KB data depending on the
timing. I also checked the return value of each sctp_send() call, and
it was all SCTP_SUCCESS. But the problem is that the client can only
receive the first sctp chunk, and have no progress since then. That
is, on the client side, dataArriveNotif() callback is called only once
for the first chunk. I understand that the flow/congestion control can
delay the transmission, but it should eventually deliver them anyway.
However, in my case it's stuck and there's no progress at all. I would
appreciate any comment/help on this. If somebody can provide an
example of sending a large chunk, that would be great. I'm using
sctplib 1.0.7, and both the client and server machines are fedora core
4.

Thanks,
Sunghwan
_______________________________________________
sctp-discussion mailing list
sctp-discussion AT sctp.de
http://www.sctp.de/mailman/listinfo/sctp-discussion









Archive powered by MHonArc 2.6.19+.

Top of page