diff options
author | Ben Noordhuis <info@bnoordhuis.nl> | 2015-02-25 16:40:40 +0100 |
---|---|---|
committer | Ben Noordhuis <info@bnoordhuis.nl> | 2015-08-27 17:44:15 +0200 |
commit | a43af39ffc369776f776c69e5287c9632349fc2b (patch) | |
tree | ac696bab827f3e431377bb0554f4be1a571408e0 /src/udp_wrap.cc | |
parent | d6714ff1a48de5dcd9d3dfbb4b2e036efcd92b7c (diff) | |
download | android-node-v8-a43af39ffc369776f776c69e5287c9632349fc2b.tar.gz android-node-v8-a43af39ffc369776f776c69e5287c9632349fc2b.tar.bz2 android-node-v8-a43af39ffc369776f776c69e5287c9632349fc2b.zip |
src: DRY getsockname/getpeername code
Extract the common logic into a template function. No functional
changes, just code cleanup.
PR-URL: https://github.com/nodejs/node/pull/956
Reviewed-By: Sam Roberts <vieuxtech@gmail.com>
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
Diffstat (limited to 'src/udp_wrap.cc')
-rw-r--r-- | src/udp_wrap.cc | 26 |
1 files changed, 2 insertions, 24 deletions
diff --git a/src/udp_wrap.cc b/src/udp_wrap.cc index dd3958ec0e..71cc547675 100644 --- a/src/udp_wrap.cc +++ b/src/udp_wrap.cc @@ -96,7 +96,8 @@ void UDPWrap::Initialize(Handle<Object> target, env->SetProtoMethod(t, "close", Close); env->SetProtoMethod(t, "recvStart", RecvStart); env->SetProtoMethod(t, "recvStop", RecvStop); - env->SetProtoMethod(t, "getsockname", GetSockName); + env->SetProtoMethod(t, "getsockname", + GetSockOrPeerName<UDPWrap, uv_udp_getsockname>); env->SetProtoMethod(t, "addMembership", AddMembership); env->SetProtoMethod(t, "dropMembership", DropMembership); env->SetProtoMethod(t, "setMulticastTTL", SetMulticastTTL); @@ -325,29 +326,6 @@ void UDPWrap::RecvStop(const FunctionCallbackInfo<Value>& args) { } -void UDPWrap::GetSockName(const FunctionCallbackInfo<Value>& args) { - Environment* env = Environment::GetCurrent(args); - - struct sockaddr_storage address; - UDPWrap* wrap = Unwrap<UDPWrap>(args.Holder()); - - CHECK(args[0]->IsObject()); - Local<Object> obj = args[0].As<Object>(); - - int addrlen = sizeof(address); - int err = uv_udp_getsockname(&wrap->handle_, - reinterpret_cast<sockaddr*>(&address), - &addrlen); - - if (err == 0) { - const sockaddr* addr = reinterpret_cast<const sockaddr*>(&address); - AddressToJS(env, addr, obj); - } - - args.GetReturnValue().Set(err); -} - - // TODO(bnoordhuis) share with StreamWrap::AfterWrite() in stream_wrap.cc void UDPWrap::OnSend(uv_udp_send_t* req, int status) { SendWrap* req_wrap = static_cast<SendWrap*>(req->data); |