Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(68)

Unified Diff: native_client_sdk/src/libraries/nacl_io/event_emitter_tcp.cc

Issue 26703008: [NaCl SDK] nacl_io: Add support for non-blocking connect/accept (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: native_client_sdk/src/libraries/nacl_io/event_emitter_tcp.cc
diff --git a/native_client_sdk/src/libraries/nacl_io/event_emitter_tcp.cc b/native_client_sdk/src/libraries/nacl_io/event_emitter_tcp.cc
index 24d7cdd4ee5821a50fc5a45de01ddef072ed6c78..8e1125837bab44dac766aa4169850d4d41f684c8 100644
--- a/native_client_sdk/src/libraries/nacl_io/event_emitter_tcp.cc
+++ b/native_client_sdk/src/libraries/nacl_io/event_emitter_tcp.cc
@@ -16,7 +16,6 @@ namespace nacl_io {
EventEmitterTCP::EventEmitterTCP(size_t rsize, size_t wsize)
: in_fifo_(std::max<size_t>(65536, rsize)),
out_fifo_(std::max<size_t>(65536, wsize)) {
- UpdateStatus_Locked();
}
uint32_t EventEmitterTCP::ReadIn_Locked(char* data, uint32_t len) {
@@ -47,7 +46,21 @@ uint32_t EventEmitterTCP::WriteOut_Locked(const char* data, uint32_t len) {
return count;
}
+void EventEmitterTCP::ConnectDone_Locked() {
+ RaiseEvents_Locked(POLLOUT);
+ UpdateStatus_Locked();
+}
-} // namespace nacl_io
+void EventEmitterTCP::SetAcceptedSocket_Locked(PP_Resource socket) {
+ accepted_socket_ = socket;
+ RaiseEvents_Locked(POLLIN);
+}
+PP_Resource EventEmitterTCP::GetAcceptedSocket_Locked() {
+ int rtn = accepted_socket_;
+ accepted_socket_ = 0;
+ ClearEvents_Locked(POLLIN);
+ return rtn;
+}
+} // namespace nacl_io

Powered by Google App Engine
This is Rietveld 408576698