summaryrefslogtreecommitdiff
path: root/src/udp_wrap.cc
diff options
context:
space:
mode:
authorBen Noordhuis <info@bnoordhuis.nl>2015-02-25 16:40:40 +0100
committerBen Noordhuis <info@bnoordhuis.nl>2015-08-27 17:44:15 +0200
commita43af39ffc369776f776c69e5287c9632349fc2b (patch)
treeac696bab827f3e431377bb0554f4be1a571408e0 /src/udp_wrap.cc
parentd6714ff1a48de5dcd9d3dfbb4b2e036efcd92b7c (diff)
downloadandroid-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.cc26
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);