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

Unified Diff: native_client_sdk/src/libraries/nacl_io/mount_node_udp.h

Issue 23498015: [NaCl SDK] Support non blocking TCP/UDP (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Merge Created 7 years, 3 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/mount_node_udp.h
diff --git a/native_client_sdk/src/libraries/nacl_io/mount_node_udp.h b/native_client_sdk/src/libraries/nacl_io/mount_node_udp.h
index ac095f1760fd08ced10c5cd31f0e93f9de3a017f..32394d8e4170618c3804106c2c358c8bd983f60c 100644
--- a/native_client_sdk/src/libraries/nacl_io/mount_node_udp.h
+++ b/native_client_sdk/src/libraries/nacl_io/mount_node_udp.h
@@ -11,16 +11,29 @@
#include <ppapi/c/pp_resource.h>
#include <ppapi/c/ppb_udp_socket.h>
+#include "nacl_io/event_emitter_udp.h"
#include "nacl_io/mount_node.h"
#include "nacl_io/mount_node_socket.h"
namespace nacl_io {
+class UDPSendWork;
+class UDPRecvWork;
+
class MountNodeUDP : public MountNodeSocket {
public:
explicit MountNodeUDP(Mount* mount);
+ protected:
virtual Error Init(int flags);
+ virtual void Destroy();
+
+ public:
+ virtual EventEmitterUDP* GetEventEmitter();
+
+ virtual void QueueInput();
+ virtual void QueueOutput();
+
virtual Error Bind(const struct sockaddr* addr, socklen_t len);
virtual Error Connect(const struct sockaddr* addr, socklen_t len);
@@ -42,8 +55,6 @@ class MountNodeUDP : public MountNodeSocket {
int* out_len);
protected:
- UDPSocketInterface* UDPSocket();
-
Error RecvFromHelper(void* buf,
size_t len,
int flags,
@@ -55,6 +66,10 @@ class MountNodeUDP : public MountNodeSocket {
int flags,
PP_Resource dest_addr,
int* out_len);
+
+ ScopedEventEmitterUDP emitter_;
+ friend class UDPSendWork;
+ friend class UDPRecvWork;
};

Powered by Google App Engine
This is Rietveld 408576698