diff options
author | Fedor Indutny <fedor.indutny@gmail.com> | 2012-05-16 20:04:24 +0400 |
---|---|---|
committer | Fedor Indutny <fedor.indutny@gmail.com> | 2012-06-01 20:52:13 +0400 |
commit | af98fc9d5f20a8c5dc0db95121f18355337762f1 (patch) | |
tree | 26348c986cec965b3f6c34edcd1d9a743aa4c106 /src/udp_wrap.h | |
parent | 30a0e58d63a8fb48ee47472a52450539e0656df9 (diff) |
child_process: new stdio API for .spawn() method
Diffstat (limited to 'src/udp_wrap.h')
-rw-r--r-- | src/udp_wrap.h | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/src/udp_wrap.h b/src/udp_wrap.h new file mode 100644 index 00000000000..9ca2eaea904 --- /dev/null +++ b/src/udp_wrap.h @@ -0,0 +1,60 @@ +#ifndef UDP_WRAP_H_ +#define UDP_WRAP_H_ + +#include "node.h" +#include "req_wrap.h" +#include "handle_wrap.h" + +namespace node { + +using v8::Object; +using v8::Handle; +using v8::Local; +using v8::Value; +using v8::String; +using v8::Arguments; + +class UDPWrap: public HandleWrap { + public: + static void Initialize(Handle<Object> target); + static Handle<Value> New(const Arguments& args); + static Handle<Value> Bind(const Arguments& args); + static Handle<Value> Send(const Arguments& args); + static Handle<Value> Bind6(const Arguments& args); + static Handle<Value> Send6(const Arguments& args); + static Handle<Value> RecvStart(const Arguments& args); + static Handle<Value> RecvStop(const Arguments& args); + static Handle<Value> GetSockName(const Arguments& args); + static Handle<Value> AddMembership(const Arguments& args); + static Handle<Value> DropMembership(const Arguments& args); + static Handle<Value> SetMulticastTTL(const Arguments& args); + static Handle<Value> SetMulticastLoopback(const Arguments& args); + static Handle<Value> SetBroadcast(const Arguments& args); + static Handle<Value> SetTTL(const Arguments& args); + static UDPWrap* Unwrap(Local<Object> obj); + + uv_udp_t* UVHandle(); + + private: + UDPWrap(Handle<Object> object); + virtual ~UDPWrap(); + + static Handle<Value> DoBind(const Arguments& args, int family); + static Handle<Value> DoSend(const Arguments& args, int family); + static Handle<Value> SetMembership(const Arguments& args, + uv_membership membership); + + static uv_buf_t OnAlloc(uv_handle_t* handle, size_t suggested_size); + static void OnSend(uv_udp_send_t* req, int status); + static void OnRecv(uv_udp_t* handle, + ssize_t nread, + uv_buf_t buf, + struct sockaddr* addr, + unsigned flags); + + uv_udp_t handle_; +}; + +} // namespace node + +#endif // UDP_WRAP_H_ |