diff --git a/src/stream_base.cc b/src/stream_base.cc index 1cf1e44bd86274..c4b59ee5ca42b5 100644 --- a/src/stream_base.cc +++ b/src/stream_base.cc @@ -54,8 +54,8 @@ int StreamBase::Shutdown(const FunctionCallbackInfo& args) { Local req_wrap_obj = args[0].As(); AsyncWrap* wrap = GetAsyncWrap(); - if (wrap != nullptr) - env->set_init_trigger_id(wrap->get_id()); + CHECK_NE(wrap, nullptr); + env->set_init_trigger_id(wrap->get_id()); ShutdownWrap* req_wrap = new ShutdownWrap(env, req_wrap_obj, this, @@ -133,8 +133,6 @@ int StreamBase::Writev(const FunctionCallbackInfo& args) { return UV_ENOBUFS; AsyncWrap* wrap = GetAsyncWrap(); - // NOTE: All tests show that GetAsyncWrap() never returns nullptr here. If it - // can then replace the CHECK_NE() with if (wrap != nullptr). CHECK_NE(wrap, nullptr); env->set_init_trigger_id(wrap->get_id()); WriteWrap* req_wrap = WriteWrap::New(env, @@ -425,16 +423,9 @@ void StreamBase::EmitData(ssize_t nread, if (argv[2].IsEmpty()) argv[2] = Undefined(env->isolate()); - AsyncWrap* async = GetAsyncWrap(); - if (async == nullptr) { - node::MakeCallback(env, - GetObject(), - env->onread_string(), - arraysize(argv), - argv); - } else { - async->MakeCallback(env->onread_string(), arraysize(argv), argv); - } + AsyncWrap* wrap = GetAsyncWrap(); + CHECK_NE(wrap, nullptr); + wrap->MakeCallback(env->onread_string(), arraysize(argv), argv); } @@ -448,11 +439,6 @@ int StreamBase::GetFD() { } -AsyncWrap* StreamBase::GetAsyncWrap() { - return nullptr; -} - - Local StreamBase::GetObject() { return GetAsyncWrap()->object(); } diff --git a/src/stream_base.h b/src/stream_base.h index 581c5405aaf594..75bf0e937f338b 100644 --- a/src/stream_base.h +++ b/src/stream_base.h @@ -248,7 +248,7 @@ class StreamBase : public StreamResource { virtual ~StreamBase() = default; // One of these must be implemented - virtual AsyncWrap* GetAsyncWrap(); + virtual AsyncWrap* GetAsyncWrap() = 0; virtual v8::Local GetObject(); // Libuv callbacks