commit | 3fa2b80e14fa8b9e05ca8efaf539e43a2cc46921 | [log] [tgz] |
---|---|---|
author | Steve Anton <steveanton@webrtc.org> | Fri Jan 31 18:31:53 2020 |
committer | Commit Bot <commit-bot@chromium.org> | Mon Feb 03 21:19:57 2020 |
tree | 82d4945eeea7bb774a48a324a05fd32591763ff6 | |
parent | 2181228624d1be60903c4e3352629290b9c3b27a [diff] |
AsyncTCPSocket: try sending outgoing data until EWOULDBLOCK The AsyncTCPSocket is an AsyncPacketSocket which means it emulates UDP-like (packet) semantics via a TCP stream. When sending, if the entire packet could not be written then the packet socket should indicate it wrote the whole thing and flush out the remaining later when the socket is available. The WriteEvent signal was already wired up but was not getting fired (at least with the virtual sockets) since it would not call Send() enough on the underlying socket to get an EWOULDBLOCK that would register the async event. This changes AsyncTCPSocket to repeatedly call Send() on the underlying socket until the entire packet has been written or EWOULDBLOCK was returned. Bug: webrtc:6655 Change-Id: I41e81e0c106c9b3e712a8a0f792d28745d93f2d2 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/168083 Reviewed-by: Qingsi Wang <qingsi@webrtc.org> Commit-Queue: Steve Anton <steveanton@webrtc.org> Cr-Commit-Position: refs/heads/master@{#30449}
WebRTC is a free, open software project that provides browsers and mobile applications with Real-Time Communications (RTC) capabilities via simple APIs. The WebRTC components have been optimized to best serve this purpose.
Our mission: To enable rich, high-quality RTC applications to be developed for the browser, mobile platforms, and IoT devices, and allow them all to communicate via a common set of protocols.
The WebRTC initiative is a project supported by Google, Mozilla and Opera, amongst others.
See http://www.webrtc.org/native-code/development for instructions on how to get started developing with the native code.
Authoritative list of directories that contain the native API header files.