File tree 2 files changed +24
-2
lines changed
2 files changed +24
-2
lines changed Original file line number Diff line number Diff line change @@ -257,6 +257,18 @@ export interface ManagerOptions extends EngineOptions {
257
257
* the parser to use. Defaults to an instance of the Parser that ships with socket.io.
258
258
*/
259
259
parser : any ;
260
+
261
+ /**
262
+ * Should we buffer receive events if socket is not connected
263
+ * @default true
264
+ */
265
+ enableReceiveBuffer : boolean ;
266
+
267
+ /**
268
+ * Should we buffer send events if socket is not connected
269
+ * @default true
270
+ */
271
+ enableSendBuffer : boolean ;
260
272
}
261
273
262
274
export class Manager extends Emitter {
@@ -278,6 +290,14 @@ export class Manager extends Emitter {
278
290
* @private
279
291
*/
280
292
_reconnecting : boolean ;
293
+ /**
294
+ * @private
295
+ */
296
+ _enableReceiveBuffer : boolean ;
297
+ /**
298
+ * @private
299
+ */
300
+ _enableSendBuffer : boolean ;
281
301
282
302
private readonly uri : string ;
283
303
private readonly opts : object ;
@@ -333,6 +353,8 @@ export class Manager extends Emitter {
333
353
this . encoder = new _parser . Encoder ( ) ;
334
354
this . decoder = new _parser . Decoder ( ) ;
335
355
this . _autoConnect = opts . autoConnect !== false ;
356
+ this . _enableReceiveBuffer = opts . enableReceiveBuffer !== false ;
357
+ this . _enableSendBuffer = opts . enableSendBuffer !== false ;
336
358
if ( this . _autoConnect ) this . open ( ) ;
337
359
}
338
360
Original file line number Diff line number Diff line change @@ -162,7 +162,7 @@ export class Socket extends Emitter {
162
162
debug ( "discard packet as the transport is not currently writable" ) ;
163
163
} else if ( this . connected ) {
164
164
this . packet ( packet ) ;
165
- } else {
165
+ } else if ( this . io . _enableSendBuffer ) {
166
166
this . sendBuffer . push ( packet ) ;
167
167
}
168
168
@@ -273,7 +273,7 @@ export class Socket extends Emitter {
273
273
args . push ( this . ack ( packet . id ) ) ;
274
274
}
275
275
276
- if ( this . connected ) {
276
+ if ( this . connected || this . io . _enableReceiveBuffer ) {
277
277
this . emitEvent ( args ) ;
278
278
} else {
279
279
this . receiveBuffer . push ( args ) ;
You can’t perform that action at this time.
0 commit comments