-
Notifications
You must be signed in to change notification settings - Fork 81
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
Revert "Remove pending buffer when stream closed" #255
Conversation
This reverts commit c0159aa.
Codecov ReportBase: 80.74% // Head: 80.87% // Increases project coverage by
Additional details and impacted files@@ Coverage Diff @@
## master #255 +/- ##
==========================================
+ Coverage 80.74% 80.87% +0.13%
==========================================
Files 48 48
Lines 4046 4032 -14
==========================================
- Hits 3267 3261 -6
+ Misses 636 629 -7
+ Partials 143 142 -1
Flags with carried forward coverage won't be shown. Click here to find out more.
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. ☔ View full report at Codecov. |
I reverted for one commit and back in |
If we're okay with how this is breaking the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @edaniels I wasn't aware v1.8.4 caused an error at pion/webrtc. I should have tested it earlier. I agree, we should revert it for now. I can see you have already done it with v1.8.5 - nice. I will revisit this and look into the affected test later.
LGTM. |
As we discussed in #245, the commit does not fully resolve the origin issue either. As I said in #239 , the pion/sctp is more like webrtc/sctp_transport+webrtc/datachannel+libsrtcp. |
Yeah I think splitting it up to more closely reflect the C++ code modulo idioms would be good. I think the really important bit is what @enobufs inquired about with the RFC coauthor regarding close in the W3C API |
This reverts commit c0159aa.
@jerry-tao @enobufs, the reverted commit made sense in theory but it's causing a regression in what https://github.com/pion/webrtc appears to expect in terms of data channel closing behavior with respect to pending writes on the sender side. More specifically,
TestEOF/Detach
started to fail where we expected that when the sender did a write followed by close, that the reader would see those writes and then see an EOF. That is to say, the enqueued writes are lost due to these changes. It doesn't seem like this change fixed any correctness issues with regards to the spec so it seems like we should revert it so as to unblock other changes in this v1.8.x. v1.8.4 is currently published but is now broken/flaky. #254 attempted to fix this but it introduced more issues due to how we lose a lot of context when weClose
in that we don't know why we are closing (inbound reset or user requested).