|
|
@ -94,6 +94,7 @@ public: |
|
|
|
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); |
|
|
|
|
|
|
|
private: |
|
|
@ -156,6 +157,7 @@ void UDPWrap::Initialize(Handle<Object> target) { |
|
|
|
NODE_SET_PROTOTYPE_METHOD(t, "addMembership", AddMembership); |
|
|
|
NODE_SET_PROTOTYPE_METHOD(t, "dropMembership", DropMembership); |
|
|
|
NODE_SET_PROTOTYPE_METHOD(t, "setMulticastTTL", SetMulticastTTL); |
|
|
|
NODE_SET_PROTOTYPE_METHOD(t, "setMulticastLoopback", SetMulticastLoopback); |
|
|
|
NODE_SET_PROTOTYPE_METHOD(t, "setBroadcast", SetBroadcast); |
|
|
|
|
|
|
|
target->Set(String::NewSymbol("UDP"), |
|
|
@ -262,6 +264,7 @@ Handle<Value> UDPWrap::DropMembership(const Arguments& args) { |
|
|
|
return SetMembership(args, UV_LEAVE_GROUP); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
Handle<Value> UDPWrap::SetMulticastTTL(const Arguments& args) { |
|
|
|
HandleScope scope; |
|
|
|
UNWRAP |
|
|
@ -277,6 +280,23 @@ Handle<Value> UDPWrap::SetMulticastTTL(const Arguments& args) { |
|
|
|
return scope.Close(Integer::New(r)); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
Handle<Value> UDPWrap::SetMulticastLoopback(const Arguments& args) { |
|
|
|
HandleScope scope; |
|
|
|
UNWRAP |
|
|
|
|
|
|
|
assert(args.Length() == 1); |
|
|
|
|
|
|
|
int on = args[0]->Int32Value(); |
|
|
|
int r = uv_udp_set_multicast_loop(&wrap->handle_, on); |
|
|
|
|
|
|
|
if (r) |
|
|
|
SetErrno(uv_last_error(uv_default_loop())); |
|
|
|
|
|
|
|
return scope.Close(Integer::New(r)); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
Handle<Value> UDPWrap::DoSend(const Arguments& args, int family) { |
|
|
|
HandleScope scope; |
|
|
|
int r; |
|
|
|