summaryrefslogtreecommitdiff
path: root/src/node_file.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/node_file.h')
-rw-r--r--src/node_file.h27
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();