@@ -98,8 +98,10 @@ void TCPWrap::Initialize(Handle<Object> target,
9898 env->SetProtoMethod (t, " connect" , Connect);
9999 env->SetProtoMethod (t, " bind6" , Bind6);
100100 env->SetProtoMethod (t, " connect6" , Connect6);
101- env->SetProtoMethod (t, " getsockname" , GetSockName);
102- env->SetProtoMethod (t, " getpeername" , GetPeerName);
101+ env->SetProtoMethod (t, " getsockname" ,
102+ GetSockOrPeerName<TCPWrap, uv_tcp_getsockname>);
103+ env->SetProtoMethod (t, " getpeername" ,
104+ GetSockOrPeerName<TCPWrap, uv_tcp_getpeername>);
103105 env->SetProtoMethod (t, " setNoDelay" , SetNoDelay);
104106 env->SetProtoMethod (t, " setKeepAlive" , SetKeepAlive);
105107
@@ -162,50 +164,6 @@ TCPWrap::~TCPWrap() {
162164}
163165
164166
165- void TCPWrap::GetSockName (const FunctionCallbackInfo<Value>& args) {
166- Environment* env = Environment::GetCurrent (args);
167- struct sockaddr_storage address;
168-
169- TCPWrap* wrap = Unwrap<TCPWrap>(args.Holder ());
170-
171- CHECK (args[0 ]->IsObject ());
172- Local<Object> out = args[0 ].As <Object>();
173-
174- int addrlen = sizeof (address);
175- int err = uv_tcp_getsockname (&wrap->handle_ ,
176- reinterpret_cast <sockaddr*>(&address),
177- &addrlen);
178- if (err == 0 ) {
179- const sockaddr* addr = reinterpret_cast <const sockaddr*>(&address);
180- AddressToJS (env, addr, out);
181- }
182-
183- args.GetReturnValue ().Set (err);
184- }
185-
186-
187- void TCPWrap::GetPeerName (const FunctionCallbackInfo<Value>& args) {
188- Environment* env = Environment::GetCurrent (args);
189- struct sockaddr_storage address;
190-
191- TCPWrap* wrap = Unwrap<TCPWrap>(args.Holder ());
192-
193- CHECK (args[0 ]->IsObject ());
194- Local<Object> out = args[0 ].As <Object>();
195-
196- int addrlen = sizeof (address);
197- int err = uv_tcp_getpeername (&wrap->handle_ ,
198- reinterpret_cast <sockaddr*>(&address),
199- &addrlen);
200- if (err == 0 ) {
201- const sockaddr* addr = reinterpret_cast <const sockaddr*>(&address);
202- AddressToJS (env, addr, out);
203- }
204-
205- args.GetReturnValue ().Set (err);
206- }
207-
208-
209167void TCPWrap::SetNoDelay (const FunctionCallbackInfo<Value>& args) {
210168 TCPWrap* wrap = Unwrap<TCPWrap>(args.Holder ());
211169 int enable = static_cast <int >(args[0 ]->BooleanValue ());
0 commit comments