@@ -176,48 +176,48 @@ namespace $ {
176
176
177
177
sock . pause ( )
178
178
179
- this . _ws_icome_partial . push ( chunk )
180
- const patial_size = this . _ws_icome_partial . reduce ( ( sum , buf ) => sum + buf . byteLength , 0 )
181
-
182
- let frame = $mol_websocket_frame . from ( this . _ws_icome_partial [ 0 ] )
183
- const msg_size = frame . size ( ) + frame . data ( ) . size
184
-
185
- if ( msg_size > patial_size ) {
186
- setTimeout ( ( ) => sock . resume ( ) )
187
- return
188
- }
189
-
190
- chunk = Buffer . alloc ( patial_size )
191
- let offset = 0
192
- for ( const buf of this . _ws_icome_partial . splice ( 0 ) ) {
193
- chunk . set ( buf , offset )
194
- offset += buf . byteLength
195
- }
196
- frame = $mol_websocket_frame . from ( chunk )
197
-
198
- if ( msg_size < chunk . byteLength ) {
199
- const tail = new Uint8Array ( chunk . buffer , chunk . byteOffset + msg_size )
200
- this . _ws_icome_partial . push ( tail )
201
- }
202
-
203
- let data : string | Uint8Array = new Uint8Array ( chunk . buffer , chunk . byteOffset + frame . size ( ) , frame . data ( ) . size )
204
-
205
- if ( frame . data ( ) . mask ) {
206
- const mask = frame . mask ( )
207
- for ( let i = 0 ; i < data . length ; ++ i ) {
208
- data [ i ] ^= mask [ i % 4 ]
209
- }
210
- }
211
-
212
- const op = frame . kind ( ) . op
213
- if ( op === 'txt' ) data = $mol_charset_decode ( data )
214
-
215
- const message = upgrade . derive ( 'POST' , data )
216
-
217
- if ( op !== 'txt' && op !== 'bin' ) return
218
-
219
179
try {
220
180
181
+ this . _ws_icome_partial . push ( chunk )
182
+ const patial_size = this . _ws_icome_partial . reduce ( ( sum , buf ) => sum + buf . byteLength , 0 )
183
+
184
+ let frame = $mol_websocket_frame . from ( this . _ws_icome_partial [ 0 ] )
185
+ const msg_size = frame . size ( ) + frame . data ( ) . size
186
+
187
+ if ( msg_size > patial_size ) {
188
+ setTimeout ( ( ) => sock . resume ( ) )
189
+ return
190
+ }
191
+
192
+ chunk = Buffer . alloc ( patial_size )
193
+ let offset = 0
194
+ for ( const buf of this . _ws_icome_partial . splice ( 0 ) ) {
195
+ chunk . set ( buf , offset )
196
+ offset += buf . byteLength
197
+ }
198
+ frame = $mol_websocket_frame . from ( chunk )
199
+
200
+ if ( msg_size < chunk . byteLength ) {
201
+ const tail = new Uint8Array ( chunk . buffer , chunk . byteOffset + msg_size )
202
+ this . _ws_icome_partial . push ( tail )
203
+ }
204
+
205
+ let data : string | Uint8Array = new Uint8Array ( chunk . buffer , chunk . byteOffset + frame . size ( ) , frame . data ( ) . size )
206
+
207
+ if ( frame . data ( ) . mask ) {
208
+ const mask = frame . mask ( )
209
+ for ( let i = 0 ; i < data . length ; ++ i ) {
210
+ data [ i ] ^= mask [ i % 4 ]
211
+ }
212
+ }
213
+
214
+ const op = frame . kind ( ) . op
215
+ if ( op === 'txt' ) data = $mol_charset_decode ( data )
216
+
217
+ const message = upgrade . derive ( 'POST' , data )
218
+
219
+ if ( op !== 'txt' && op !== 'bin' ) return
220
+
221
221
if ( data . length !== 0 ) {
222
222
this . $ . $mol_log3_rise ( {
223
223
place : this ,
@@ -228,7 +228,7 @@ namespace $ {
228
228
await $mol_wire_async ( this . root ( ) ) . REQUEST ( message )
229
229
}
230
230
231
- sock . resume ( )
231
+ setTimeout ( ( ) => sock . resume ( ) )
232
232
233
233
} catch ( error : any ) {
234
234
@@ -240,7 +240,7 @@ namespace $ {
240
240
stack : error . stack ,
241
241
} )
242
242
243
- sock . resume ( )
243
+ setTimeout ( ( ) => sock . resume ( ) )
244
244
245
245
}
246
246
0 commit comments