When sending a message with WebRtcDataStreamAdapter, the adapter would
immediately call Send on the underlying webrtc::DataChannelInterface and
invoke the done callback. As a result, any code that tried to use the
done callback to determine when to queue the next message would end up
overrunning the WebRTC send buffer, causing the connection to drop.
This commit changes WebRtcDataStreamAdapter so it monitors the data
channel buffer and waits for the previous message to makes its way down
to the SCTP layer before sending the next message and calling its done
callback.
Bug: 679313
Change-Id: Ibb1cf8f7a0806e80d97e0dfd0632707711228e14
Reviewed-on: https://chromium-review.googlesource.com/c/1483932
Commit-Queue: Erik Jensen <rkjnsn@chromium.org>
Reviewed-by: Joe Downing <joedow@chromium.org>
Cr-Commit-Position: refs/heads/master@{#635347}