diff options
Diffstat (limited to 'src/node_file.h')
-rw-r--r-- | src/node_file.h | 27 |
1 files changed, 23 insertions, 4 deletions
diff --git a/src/node_file.h b/src/node_file.h index a14a1b0f85..6b45dc8817 100644 --- a/src/node_file.h +++ b/src/node_file.h @@ -66,7 +66,6 @@ class FSReqBase : public ReqWrap<uv_fs_t> { const char* data() const { return has_data_ ? *buffer_ : nullptr; } enum encoding encoding() const { return encoding_; } - size_t self_size() const override { return sizeof(*this); } bool use_bigint() const { return use_bigint_; } private: @@ -92,6 +91,10 @@ class FSReqWrap : public FSReqBase { void ResolveStat(const uv_stat_t* stat) override; void SetReturnValue(const FunctionCallbackInfo<Value>& args) override; + void MemoryInfo(MemoryTracker* tracker) const override { + tracker->TrackThis(this); + } + private: DISALLOW_COPY_AND_ASSIGN(FSReqWrap); }; @@ -150,6 +153,11 @@ class FSReqPromise : public FSReqBase { args.GetReturnValue().Set(resolver->GetPromise()); } + void MemoryInfo(MemoryTracker* tracker) const override { + tracker->TrackThis(this); + tracker->TrackField("stats_field_array", stats_field_array_); + } + private: bool finished_ = false; AliasedBuffer<NativeT, V8T> stats_field_array_; @@ -184,7 +192,10 @@ class FileHandleReadWrap : public ReqWrap<uv_fs_t> { return static_cast<FileHandleReadWrap*>(ReqWrap::from_req(req)); } - size_t self_size() const override { return sizeof(*this); } + void MemoryInfo(MemoryTracker* tracker) const override { + tracker->TrackThis(this); + tracker->TrackField("buffer", buffer_); + } private: FileHandle* file_handle_; @@ -205,7 +216,6 @@ class FileHandle : public AsyncWrap, public StreamBase { static void New(const v8::FunctionCallbackInfo<v8::Value>& args); int fd() const { return fd_; } - size_t self_size() const override { return sizeof(*this); } // Will asynchronously close the FD and return a Promise that will // be resolved once closing is complete. @@ -233,6 +243,11 @@ class FileHandle : public AsyncWrap, public StreamBase { return UV_ENOSYS; // Not implemented (yet). } + void MemoryInfo(MemoryTracker* tracker) const override { + tracker->TrackThis(this); + tracker->TrackField("current_read", current_read_); + } + private: // Synchronous close that emits a warning void Close(); @@ -259,7 +274,11 @@ class FileHandle : public AsyncWrap, public StreamBase { FileHandle* file_handle(); - size_t self_size() const override { return sizeof(*this); } + void MemoryInfo(MemoryTracker* tracker) const override { + tracker->TrackThis(this); + tracker->TrackField("promise", promise_); + tracker->TrackField("ref", ref_); + } void Resolve(); |