@@ -29,44 +29,44 @@ final Logger _logger = Logger('socket_io_client:engine.Socket');
29
29
/// @api public
30
30
///
31
31
class Socket extends EventEmitter {
32
- Map opts;
33
- Uri uri;
34
- bool secure;
35
- bool agent;
36
- String hostname;
37
- int port;
38
- Map query;
39
- bool upgrade;
40
- String path;
41
- bool forceJSONP;
42
- bool jsonp;
43
- bool forceBase64;
44
- bool enablesXDR;
45
- String timestampParam;
32
+ late Map opts;
33
+ late Uri uri;
34
+ late bool secure;
35
+ bool ? agent;
36
+ late String hostname;
37
+ int ? port;
38
+ late Map query;
39
+ bool ? upgrade;
40
+ late String path;
41
+ bool ? forceJSONP;
42
+ bool ? jsonp;
43
+ bool ? forceBase64;
44
+ bool ? enablesXDR;
45
+ String ? timestampParam;
46
46
var timestampRequests;
47
- List <String > transports;
48
- Map transportOptions;
49
- String readyState;
50
- List writeBuffer;
51
- int prevBufferLen;
52
- int policyPort;
53
- bool rememberUpgrade;
47
+ late List <String > transports;
48
+ late Map transportOptions;
49
+ String readyState = '' ;
50
+ List writeBuffer = [] ;
51
+ int prevBufferLen = 0 ;
52
+ int ? policyPort;
53
+ bool ? rememberUpgrade;
54
54
var binaryType;
55
- bool onlyBinaryUpgrades;
56
- Map perMessageDeflate;
57
- String id;
58
- List upgrades;
59
- int pingInterval;
60
- int pingTimeout;
61
- Timer pingIntervalTimer;
62
- Timer pingTimeoutTimer;
63
- int requestTimeout;
64
- Transport transport;
65
- bool supportsBinary;
66
- bool upgrading;
67
- Map extraHeaders;
68
-
69
- Socket (String uri, Map opts) {
55
+ bool ? onlyBinaryUpgrades;
56
+ late Map perMessageDeflate;
57
+ String ? id;
58
+ late List upgrades;
59
+ late int pingInterval;
60
+ late int pingTimeout;
61
+ Timer ? pingIntervalTimer;
62
+ Timer ? pingTimeoutTimer;
63
+ int ? requestTimeout;
64
+ Transport ? transport;
65
+ bool ? supportsBinary;
66
+ bool ? upgrading;
67
+ Map ? extraHeaders;
68
+
69
+ Socket (String uri, Map ? opts) {
70
70
opts = opts ?? < dynamic , dynamic > {};
71
71
72
72
if (uri.isNotEmpty) {
@@ -115,9 +115,6 @@ class Socket extends EventEmitter {
115
115
timestampRequests = opts['timestampRequests' ];
116
116
transports = opts['transports' ] ?? ['polling' , 'websocket' ];
117
117
transportOptions = opts['transportOptions' ] ?? {};
118
- readyState = '' ;
119
- writeBuffer = [];
120
- prevBufferLen = 0 ;
121
118
policyPort = opts['policyPort' ] ?? 843 ;
122
119
rememberUpgrade = opts['rememberUpgrade' ] ?? false ;
123
120
binaryType = null ;
@@ -277,8 +274,8 @@ class Socket extends EventEmitter {
277
274
_logger.fine ('setting transport ${transport ?.name }' );
278
275
279
276
if (this .transport != null ) {
280
- _logger.fine ('clearing existing transport ${this .transport ? .name }' );
281
- this .transport.clearListeners ();
277
+ _logger.fine ('clearing existing transport ${this .transport ! .name }' );
278
+ this .transport! .clearListeners ();
282
279
}
283
280
284
281
// set up transport
@@ -299,31 +296,31 @@ class Socket extends EventEmitter {
299
296
/// @api private
300
297
void probe (name) {
301
298
_logger.fine ('probing transport "$name "' );
302
- var transport = createTransport (name, {'probe' : true });
299
+ Transport ? transport = createTransport (name, {'probe' : true });
303
300
var failed = false ;
304
301
var cleanup;
305
302
priorWebsocketSuccess = false ;
306
303
307
304
var onTransportOpen = (_) {
308
305
if (onlyBinaryUpgrades == true ) {
309
306
var upgradeLosesBinary =
310
- supportsBinary == false && transport.supportsBinary;
307
+ supportsBinary == false && transport! .supportsBinary == false ;
311
308
failed = failed || upgradeLosesBinary;
312
309
}
313
310
if (failed) return ;
314
311
315
312
_logger.fine ('probe transport "$name " opened' );
316
- transport.send ([
313
+ transport! .send ([
317
314
{'type' : 'ping' , 'data' : 'probe' }
318
315
]);
319
- transport.once ('packet' , (msg) {
316
+ transport! .once ('packet' , (msg) {
320
317
if (failed) return ;
321
318
if ('pong' == msg['type' ] && 'probe' == msg['data' ]) {
322
319
_logger.fine ('probe transport "$name " pong' );
323
320
upgrading = true ;
324
321
emit ('upgrading' , transport);
325
322
if (transport == null ) return ;
326
- priorWebsocketSuccess = 'websocket' == transport.name;
323
+ priorWebsocketSuccess = 'websocket' == transport! .name;
327
324
328
325
_logger.fine ('pausing current transport "${transport ?.name }"' );
329
326
if (this .transport is PollingTransport ) {
@@ -335,7 +332,7 @@ class Socket extends EventEmitter {
335
332
cleanup ();
336
333
337
334
setTransport (transport);
338
- transport.send ([
335
+ transport! .send ([
339
336
{'type' : 'upgrade' }
340
337
]);
341
338
emit ('upgrade' , transport);
@@ -347,7 +344,7 @@ class Socket extends EventEmitter {
347
344
} else {
348
345
_logger.fine ('probe transport "$name " failed' );
349
346
emit ('upgradeError' ,
350
- {'error' : 'probe error' , 'transport' : transport.name});
347
+ {'error' : 'probe error' , 'transport' : transport! .name});
351
348
}
352
349
});
353
350
};
@@ -360,7 +357,7 @@ class Socket extends EventEmitter {
360
357
361
358
cleanup ();
362
359
363
- transport.close ();
360
+ transport! .close ();
364
361
transport = null ;
365
362
};
366
363
@@ -372,7 +369,7 @@ class Socket extends EventEmitter {
372
369
_logger.fine ('probe transport "$name " failed because of error: $err ' );
373
370
374
371
emit ('upgradeError' ,
375
- {'error' : 'probe error: $err ' , 'transport' : oldTransport.name});
372
+ {'error' : 'probe error: $err ' , 'transport' : oldTransport! .name});
376
373
};
377
374
378
375
var onTransportClose = (_) => onerror ('transport closed' );
@@ -382,29 +379,29 @@ class Socket extends EventEmitter {
382
379
383
380
// When the socket is upgraded while we're probing
384
381
var onupgrade = (to) {
385
- if (transport != null && to.name != transport.name) {
382
+ if (transport != null && to.name != transport! .name) {
386
383
_logger.fine ('"${to ?.name }" works - aborting "${transport ?.name }"' );
387
384
freezeTransport ();
388
385
}
389
386
};
390
387
391
388
// Remove all listeners on the transport and on self
392
389
cleanup = () {
393
- transport.off ('open' , onTransportOpen);
394
- transport.off ('error' , onerror);
395
- transport.off ('close' , onTransportClose);
390
+ transport! .off ('open' , onTransportOpen);
391
+ transport! .off ('error' , onerror);
392
+ transport! .off ('close' , onTransportClose);
396
393
off ('close' , onclose);
397
394
off ('upgrading' , onupgrade);
398
395
};
399
396
400
- transport.once ('open' , onTransportOpen);
401
- transport.once ('error' , onerror);
402
- transport.once ('close' , onTransportClose);
397
+ transport! .once ('open' , onTransportOpen);
398
+ transport! .once ('error' , onerror);
399
+ transport! .once ('close' , onTransportClose);
403
400
404
401
once ('close' , onclose);
405
402
once ('upgrading' , onupgrade);
406
403
407
- transport.open ();
404
+ transport! .open ();
408
405
}
409
406
410
407
///
@@ -414,7 +411,7 @@ class Socket extends EventEmitter {
414
411
void onOpen () {
415
412
_logger.fine ('socket open' );
416
413
readyState = 'open' ;
417
- priorWebsocketSuccess = 'websocket' == transport.name;
414
+ priorWebsocketSuccess = 'websocket' == transport! .name;
418
415
emit ('open' );
419
416
flush ();
420
417
@@ -479,7 +476,7 @@ class Socket extends EventEmitter {
479
476
void onHandshake (Map data) {
480
477
emit ('handshake' , data);
481
478
id = data['sid' ];
482
- transport.query['sid' ] = data['sid' ];
479
+ transport! .query! ['sid' ] = data['sid' ];
483
480
upgrades = filterUpgrades (data['upgrades' ]);
484
481
pingInterval = data['pingInterval' ];
485
482
pingTimeout = data['pingTimeout' ];
@@ -554,11 +551,11 @@ class Socket extends EventEmitter {
554
551
/// @api private
555
552
void flush () {
556
553
if ('closed' != readyState &&
557
- transport.writable == true &&
554
+ transport! .writable == true &&
558
555
upgrading != true &&
559
556
writeBuffer.isNotEmpty) {
560
557
_logger.fine ('flushing ${writeBuffer .length } packets in socket' );
561
- transport.send (writeBuffer);
558
+ transport! .send (writeBuffer);
562
559
// keep track of current length of writeBuffer
563
560
// splice writeBuffer and callbackBuffer on `drain`
564
561
prevBufferLen = writeBuffer.length;
@@ -574,9 +571,9 @@ class Socket extends EventEmitter {
574
571
/// @param {Object} options.
575
572
/// @return {Socket} for chaining.
576
573
/// @api public
577
- Socket write (msg, options, [EventHandler fn]) => send (msg, options, fn);
574
+ Socket write (msg, options, [EventHandler ? fn]) => send (msg, options, fn);
578
575
579
- Socket send (msg, options, [EventHandler fn]) {
576
+ Socket send (msg, options, [EventHandler ? fn]) {
580
577
sendPacket (type: 'message' , data: msg, options: options, callback: fn);
581
578
return this ;
582
579
}
@@ -589,7 +586,7 @@ class Socket extends EventEmitter {
589
586
/// @param {Object} options.
590
587
/// @param {Function} callback function.
591
588
/// @api private
592
- void sendPacket ({type, data, options, EventHandler callback}) {
589
+ void sendPacket ({type, data, options, EventHandler ? callback}) {
593
590
if ('closing' == readyState || 'closed' == readyState) {
594
591
return ;
595
592
}
@@ -612,7 +609,7 @@ class Socket extends EventEmitter {
612
609
var close = () {
613
610
onClose ('forced close' );
614
611
_logger.fine ('socket closing - telling transport to close' );
615
- transport.close ();
612
+ transport! .close ();
616
613
};
617
614
618
615
var temp;
@@ -678,13 +675,13 @@ class Socket extends EventEmitter {
678
675
pingTimeoutTimer? .cancel ();
679
676
680
677
// stop event from firing again for transport
681
- transport.off ('close' );
678
+ transport! .off ('close' );
682
679
683
680
// ensure transport won't stay open
684
- transport.close ();
681
+ transport! .close ();
685
682
686
683
// ignore further transport communication
687
- transport.clearListeners ();
684
+ transport! .clearListeners ();
688
685
689
686
// set ready state
690
687
readyState = 'closed' ;
0 commit comments