diff options
Diffstat (limited to 'src/js_stream.h')
-rw-r--r-- | src/js_stream.h | 30 |
1 files changed, 29 insertions, 1 deletions
diff --git a/src/js_stream.h b/src/js_stream.h index 6a2d3bfb4fc..8e2ff13258b 100644 --- a/src/js_stream.h +++ b/src/js_stream.h @@ -8,11 +8,39 @@ namespace node { -class JSStream : public StreamBase { +class JSStream : public StreamBase, public AsyncWrap { public: static void Initialize(v8::Handle<v8::Object> target, v8::Handle<v8::Value> unused, v8::Handle<v8::Context> context); + + void* Cast() override; + bool IsAlive() override; + bool IsClosing() override; + int ReadStart() override; + int ReadStop() override; + + int DoShutdown(ShutdownWrap* req_wrap) override; + int DoWrite(WriteWrap* w, + uv_buf_t* bufs, + size_t count, + uv_stream_t* send_handle) override; + + protected: + JSStream(Environment* env, v8::Handle<v8::Object> obj, AsyncWrap* parent); + ~JSStream(); + + AsyncWrap* GetAsyncWrap() override; + + static void New(const v8::FunctionCallbackInfo<v8::Value>& args); + static void DoAlloc(const v8::FunctionCallbackInfo<v8::Value>& args); + static void DoRead(const v8::FunctionCallbackInfo<v8::Value>& args); + static void DoAfterWrite(const v8::FunctionCallbackInfo<v8::Value>& args); + static void ReadBuffer(const v8::FunctionCallbackInfo<v8::Value>& args); + static void EmitEOF(const v8::FunctionCallbackInfo<v8::Value>& args); + + template <class Wrap> + static void Finish(const v8::FunctionCallbackInfo<v8::Value>& args); }; } // namespace node |