diff options
author | Daniel Bevenius <daniel.bevenius@gmail.com> | 2016-07-24 05:13:19 +0200 |
---|---|---|
committer | Daniel Bevenius <daniel.bevenius@gmail.com> | 2016-09-11 14:48:56 +0200 |
commit | 83a354c33b29686ba6df9cd017ab6b4baaff4272 (patch) | |
tree | cffc88b56ca26b1937cd56a60e3d388dbd542cb6 /src/tcp_wrap.cc | |
parent | 0e6c3360317ea7c5c7cc242dfb5c61c359493f34 (diff) | |
download | android-node-v8-83a354c33b29686ba6df9cd017ab6b4baaff4272.tar.gz android-node-v8-83a354c33b29686ba6df9cd017ab6b4baaff4272.tar.bz2 android-node-v8-83a354c33b29686ba6df9cd017ab6b4baaff4272.zip |
src: pull AfterConnect from pipe_wrap and tcp_wrap
This commit attempts to address one of the items in
https://github.com/nodejs/node/issues/4641 which is related to
src/pipe_wrap.cc and src/tcp_wrap.cc.
Currently both pipe_wrap.cc and tcp_wrap.cc contain an AfterConnect
function that are almost identical. This commit extracts this function
into ConnectionWrap so that that both can share it.
PR-URL: https://github.com/nodejs/node/pull/8448
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
Diffstat (limited to 'src/tcp_wrap.cc')
-rw-r--r-- | src/tcp_wrap.cc | 28 |
1 files changed, 0 insertions, 28 deletions
diff --git a/src/tcp_wrap.cc b/src/tcp_wrap.cc index 92037d0d68..f2e972970b 100644 --- a/src/tcp_wrap.cc +++ b/src/tcp_wrap.cc @@ -235,34 +235,6 @@ void TCPWrap::Listen(const FunctionCallbackInfo<Value>& args) { } -void TCPWrap::AfterConnect(uv_connect_t* req, int status) { - ConnectWrap* req_wrap = static_cast<ConnectWrap*>(req->data); - TCPWrap* wrap = static_cast<TCPWrap*>(req->handle->data); - CHECK_EQ(req_wrap->env(), wrap->env()); - Environment* env = wrap->env(); - - HandleScope handle_scope(env->isolate()); - Context::Scope context_scope(env->context()); - - // The wrap and request objects should still be there. - CHECK_EQ(req_wrap->persistent().IsEmpty(), false); - CHECK_EQ(wrap->persistent().IsEmpty(), false); - - Local<Object> req_wrap_obj = req_wrap->object(); - Local<Value> argv[5] = { - Integer::New(env->isolate(), status), - wrap->object(), - req_wrap_obj, - v8::True(env->isolate()), - v8::True(env->isolate()) - }; - - req_wrap->MakeCallback(env->oncomplete_string(), arraysize(argv), argv); - - delete req_wrap; -} - - void TCPWrap::Connect(const FunctionCallbackInfo<Value>& args) { Environment* env = Environment::GetCurrent(args); |