@@ -67,30 +67,6 @@ void StreamResource::PushStreamListener(StreamListener* listener) {
67
67
listener_ = listener;
68
68
}
69
69
70
- void StreamResource::RemoveStreamListener (StreamListener* listener) {
71
- CHECK_NOT_NULL (listener);
72
-
73
- StreamListener* previous;
74
- StreamListener* current;
75
-
76
- // Remove from the linked list.
77
- for (current = listener_, previous = nullptr ;
78
- /* No loop condition because we want a crash if listener is not found */
79
- ; previous = current, current = current->previous_listener_ ) {
80
- CHECK_NOT_NULL (current);
81
- if (current == listener) {
82
- if (previous != nullptr )
83
- previous->previous_listener_ = current->previous_listener_ ;
84
- else
85
- listener_ = listener->previous_listener_ ;
86
- break ;
87
- }
88
- }
89
-
90
- listener->stream_ = nullptr ;
91
- listener->previous_listener_ = nullptr ;
92
- }
93
-
94
70
uv_buf_t StreamResource::EmitAlloc (size_t suggested_size) {
95
71
DebugSealHandleScope seal_handle_scope;
96
72
return listener_->OnStreamAlloc (suggested_size);
@@ -122,101 +98,6 @@ StreamBase::StreamBase(Environment* env) : env_(env) {
122
98
PushStreamListener (&default_listener_);
123
99
}
124
100
125
- int StreamBase::Shutdown (v8::Local<v8::Object> req_wrap_obj) {
126
- Environment* env = stream_env ();
127
-
128
- v8::HandleScope handle_scope (env->isolate ());
129
-
130
- if (req_wrap_obj.IsEmpty ()) {
131
- if (!env->shutdown_wrap_template ()
132
- ->NewInstance (env->context ())
133
- .ToLocal (&req_wrap_obj)) {
134
- return UV_EBUSY;
135
- }
136
- StreamReq::ResetObject (req_wrap_obj);
137
- }
138
-
139
- BaseObjectPtr<AsyncWrap> req_wrap_ptr;
140
- AsyncHooks::DefaultTriggerAsyncIdScope trigger_scope (GetAsyncWrap ());
141
- ShutdownWrap* req_wrap = CreateShutdownWrap (req_wrap_obj);
142
- if (req_wrap != nullptr )
143
- req_wrap_ptr.reset (req_wrap->GetAsyncWrap ());
144
- int err = DoShutdown (req_wrap);
145
-
146
- if (err != 0 && req_wrap != nullptr ) {
147
- req_wrap->Dispose ();
148
- }
149
-
150
- const char * msg = Error ();
151
- if (msg != nullptr ) {
152
- if (req_wrap_obj->Set (env->context (),
153
- env->error_string (),
154
- OneByteString (env->isolate (), msg)).IsNothing ()) {
155
- return UV_EBUSY;
156
- }
157
- ClearError ();
158
- }
159
-
160
- return err;
161
- }
162
-
163
- StreamWriteResult StreamBase::Write (uv_buf_t * bufs,
164
- size_t count,
165
- uv_stream_t * send_handle,
166
- v8::Local<v8::Object> req_wrap_obj,
167
- bool skip_try_write) {
168
- Environment* env = stream_env ();
169
- int err;
170
-
171
- size_t total_bytes = 0 ;
172
- for (size_t i = 0 ; i < count; ++i)
173
- total_bytes += bufs[i].len ;
174
- bytes_written_ += total_bytes;
175
-
176
- if (send_handle == nullptr && !skip_try_write) {
177
- err = DoTryWrite (&bufs, &count);
178
- if (err != 0 || count == 0 ) {
179
- return StreamWriteResult { false , err, nullptr , total_bytes, {} };
180
- }
181
- }
182
-
183
- v8::HandleScope handle_scope (env->isolate ());
184
-
185
- if (req_wrap_obj.IsEmpty ()) {
186
- if (!env->write_wrap_template ()
187
- ->NewInstance (env->context ())
188
- .ToLocal (&req_wrap_obj)) {
189
- return StreamWriteResult { false , UV_EBUSY, nullptr , 0 , {} };
190
- }
191
- StreamReq::ResetObject (req_wrap_obj);
192
- }
193
-
194
- AsyncHooks::DefaultTriggerAsyncIdScope trigger_scope (GetAsyncWrap ());
195
- WriteWrap* req_wrap = CreateWriteWrap (req_wrap_obj);
196
- BaseObjectPtr<AsyncWrap> req_wrap_ptr (req_wrap->GetAsyncWrap ());
197
-
198
- err = DoWrite (req_wrap, bufs, count, send_handle);
199
- bool async = err == 0 ;
200
-
201
- if (!async) {
202
- req_wrap->Dispose ();
203
- req_wrap = nullptr ;
204
- }
205
-
206
- const char * msg = Error ();
207
- if (msg != nullptr ) {
208
- if (req_wrap_obj->Set (env->context (),
209
- env->error_string (),
210
- OneByteString (env->isolate (), msg)).IsNothing ()) {
211
- return StreamWriteResult { false , UV_EBUSY, nullptr , 0 , {} };
212
- }
213
- ClearError ();
214
- }
215
-
216
- return StreamWriteResult {
217
- async, err, req_wrap, total_bytes, std::move (req_wrap_ptr) };
218
- }
219
-
220
101
template <typename OtherBase>
221
102
SimpleShutdownWrap<OtherBase>::SimpleShutdownWrap(
222
103
StreamBase* stream,
@@ -278,22 +159,6 @@ void WriteWrap::SetBackingStore(std::unique_ptr<v8::BackingStore> bs) {
278
159
backing_store_ = std::move (bs);
279
160
}
280
161
281
- void StreamReq::Done (int status, const char * error_str) {
282
- AsyncWrap* async_wrap = GetAsyncWrap ();
283
- Environment* env = async_wrap->env ();
284
- if (error_str != nullptr ) {
285
- v8::HandleScope handle_scope (env->isolate ());
286
- if (async_wrap->object ()->Set (
287
- env->context (),
288
- env->error_string (),
289
- OneByteString (env->isolate (), error_str)).IsNothing ()) {
290
- return ;
291
- }
292
- }
293
-
294
- OnDone (status);
295
- }
296
-
297
162
void StreamReq::ResetObject (v8::Local<v8::Object> obj) {
298
163
DCHECK_GT (obj->InternalFieldCount (), StreamReq::kStreamReqField );
299
164
0 commit comments