File tree Expand file tree Collapse file tree 2 files changed +24
-2
lines changed Expand file tree Collapse file tree 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 {
257257 * the parser to use. Defaults to an instance of the Parser that ships with socket.io.
258258 */
259259 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 ;
260272}
261273
262274export class Manager extends Emitter {
@@ -278,6 +290,14 @@ export class Manager extends Emitter {
278290 * @private
279291 */
280292 _reconnecting : boolean ;
293+ /**
294+ * @private
295+ */
296+ _enableReceiveBuffer : boolean ;
297+ /**
298+ * @private
299+ */
300+ _enableSendBuffer : boolean ;
281301
282302 private readonly uri : string ;
283303 private readonly opts : object ;
@@ -333,6 +353,8 @@ export class Manager extends Emitter {
333353 this . encoder = new _parser . Encoder ( ) ;
334354 this . decoder = new _parser . Decoder ( ) ;
335355 this . _autoConnect = opts . autoConnect !== false ;
356+ this . _enableReceiveBuffer = opts . enableReceiveBuffer !== false ;
357+ this . _enableSendBuffer = opts . enableSendBuffer !== false ;
336358 if ( this . _autoConnect ) this . open ( ) ;
337359 }
338360
Original file line number Diff line number Diff line change @@ -162,7 +162,7 @@ export class Socket extends Emitter {
162162 debug ( "discard packet as the transport is not currently writable" ) ;
163163 } else if ( this . connected ) {
164164 this . packet ( packet ) ;
165- } else {
165+ } else if ( this . io . _enableSendBuffer ) {
166166 this . sendBuffer . push ( packet ) ;
167167 }
168168
@@ -273,7 +273,7 @@ export class Socket extends Emitter {
273273 args . push ( this . ack ( packet . id ) ) ;
274274 }
275275
276- if ( this . connected ) {
276+ if ( this . connected || this . io . _enableReceiveBuffer ) {
277277 this . emitEvent ( args ) ;
278278 } else {
279279 this . receiveBuffer . push ( args ) ;
You can’t perform that action at this time.
0 commit comments