Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reassembled unordered message is received broken #71

Closed
enobufs opened this issue Sep 29, 2019 · 0 comments · Fixed by #73
Closed

Reassembled unordered message is received broken #71

enobufs opened this issue Sep 29, 2019 · 0 comments · Fixed by #73

Comments

@enobufs
Copy link
Member

enobufs commented Sep 29, 2019

Your environment.

  • Version: v1.6.11

What did you do?

I was writing test with sctp stream configured for unordered delivery.

What did you expect?

Sending messages, although the order could be different, each messages are identical to the original messages.

What happened?

Each message is broken when the message is larger than the max segment size, 1200.

I know the cause.

The assumption of the design was wrong. When I introduced pendingQueue which has ordered and unordered queues assuming that chunks in the unordered queue can be completely unordered. But 'unordered' should only apply to user messages. Not at the chunk level.

When a message is large, fragmented into multiple chunks with the current code, the message could be corrupted. (this has been repro'ed in my local test. PR is incoming)

enobufs added a commit that referenced this issue Sep 30, 2019
enobufs added a commit that referenced this issue Sep 30, 2019
enobufs added a commit that referenced this issue Sep 30, 2019
Resolves #71
enobufs added a commit that referenced this issue Sep 30, 2019
enobufs added a commit that referenced this issue Sep 30, 2019
enobufs added a commit that referenced this issue Sep 30, 2019
Resolves #71
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant