Skip to content
This repository was archived by the owner on Jun 6, 2021. It is now read-only.

Commit aa5a007

Browse files
committed
Delete StreamDecode/StreamEncode in Destructors
1 parent bb60b8b commit aa5a007

6 files changed

+6
-31
lines changed

src/common/stream_coder.cc

-6
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,5 @@
11
#include "stream_coder.h"
22

3-
StreamCoder::StreamCoder() {
4-
}
5-
6-
StreamCoder::~StreamCoder() {
7-
}
8-
93
void StreamCoder::ClearPendingOutput(napi_env env) {
104
size_t n_chunks = pending_output.size();
115
for (size_t i = 0; i < n_chunks; i++) {

src/common/stream_coder.h

-3
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,6 @@ class StreamCoder {
1212

1313
void ClearPendingOutput(napi_env env);
1414
void PendingChunksAsArray(napi_env env, napi_value* arr);
15-
protected:
16-
explicit StreamCoder();
17-
~StreamCoder();
1815
};
1916

2017
#endif

src/dec/stream_decode.cc

+3-8
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,11 @@ StreamDecode::StreamDecode(napi_env env) {
77
alloc.ReportMemoryToV8(env);
88
}
99

10-
StreamDecode::~StreamDecode() {
11-
napi_delete_reference(env_, wrapper_);
12-
BrotliDecoderDestroyInstance(state);
13-
}
14-
1510
void StreamDecode::Destructor(napi_env env, void* nativeObject, void* /*finalize_hint*/) {
1611
StreamDecode* obj = reinterpret_cast<StreamDecode*>(nativeObject);
17-
obj->~StreamDecode();
12+
BrotliDecoderDestroyInstance(obj->state);
1813
obj->ClearPendingOutput(env);
14+
delete obj;
1915
}
2016

2117
napi_value StreamDecode::Init(napi_env env, napi_value exports) {
@@ -39,13 +35,12 @@ napi_value StreamDecode::New(napi_env env, napi_callback_info info) {
3935

4036
StreamDecode* obj = new StreamDecode(env);
4137

42-
obj->env_ = env;
4338
napi_wrap(env,
4439
jsthis,
4540
reinterpret_cast<void*>(obj),
4641
StreamDecode::Destructor,
4742
nullptr,
48-
&obj->wrapper_);
43+
nullptr);
4944

5045
return jsthis;
5146
}

src/dec/stream_decode.h

-3
Original file line numberDiff line numberDiff line change
@@ -21,14 +21,11 @@ class StreamDecode : public StreamCoder {
2121

2222
private:
2323
explicit StreamDecode(napi_env env);
24-
~StreamDecode();
2524

2625
static napi_value New(napi_env env, napi_callback_info info);
2726
static napi_value Transform(napi_env env, napi_callback_info info);
2827
static napi_value Flush(napi_env env, napi_callback_info info);
2928
static napi_ref constructor;
30-
napi_env env_;
31-
napi_ref wrapper_;
3229
};
3330

3431
#endif

src/enc/stream_encode.cc

+3-8
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,11 @@ StreamEncode::StreamEncode(napi_env env, napi_value params) {
1818
alloc.ReportMemoryToV8(env);
1919
}
2020

21-
StreamEncode::~StreamEncode() {
22-
napi_delete_reference(env_, wrapper_);
23-
BrotliEncoderDestroyInstance(state);
24-
}
25-
2621
void StreamEncode::Destructor(napi_env env, void* nativeObject, void* /*finalize_hint*/) {
2722
StreamEncode* obj = reinterpret_cast<StreamEncode*>(nativeObject);
28-
obj->~StreamEncode();
23+
BrotliEncoderDestroyInstance(obj->state);
2924
obj->ClearPendingOutput(env);
25+
delete obj;
3026
}
3127

3228
void StreamEncode::SetParameter(napi_env env, napi_value params, const char* key, BrotliEncoderParameter p) {
@@ -77,13 +73,12 @@ napi_value StreamEncode::New(napi_env env, napi_callback_info info) {
7773

7874
StreamEncode* obj = new StreamEncode(env, argv[0]);
7975

80-
obj->env_ = env;
8176
napi_wrap(env,
8277
jsthis,
8378
reinterpret_cast<void*>(obj),
8479
StreamEncode::Destructor,
8580
nullptr,
86-
&obj->wrapper_);
81+
nullptr);
8782

8883
return jsthis;
8984
}

src/enc/stream_encode.h

-3
Original file line numberDiff line numberDiff line change
@@ -22,15 +22,12 @@ class StreamEncode : public StreamCoder {
2222

2323
private:
2424
explicit StreamEncode(napi_env env, napi_value params);
25-
~StreamEncode();
2625
void SetParameter(napi_env env, napi_value params, const char* key, BrotliEncoderParameter p);
2726

2827
static napi_value New(napi_env env, napi_callback_info info);
2928
static napi_value Transform(napi_env env, napi_callback_info info);
3029
static napi_value Flush(napi_env env, napi_callback_info info);
3130
static napi_ref constructor;
32-
napi_env env_;
33-
napi_ref wrapper_;
3431
};
3532

3633
#endif

0 commit comments

Comments
 (0)