@@ -30,7 +30,8 @@ extension String {
30
30
}
31
31
}
32
32
33
- private typealias PollWaitQueue = [ ( ) -> Void ]
33
+ private typealias Probe = ( msg: String , type: PacketType , data: [ NSData ] ? )
34
+ private typealias ProbeWaitQueue = [ Probe ]
34
35
35
36
public enum PacketType : String {
36
37
case OPEN = " 0 "
@@ -59,7 +60,7 @@ public class SocketEngine: NSObject, WebSocketDelegate {
59
60
private var postWait = [ String] ( )
60
61
private var _polling = true
61
62
private var probing = false
62
- private var probeWait = PollWaitQueue ( )
63
+ private var probeWait = ProbeWaitQueue ( )
63
64
private var waitingForPoll = false
64
65
private var waitingForPost = false
65
66
private var _websocket = false
@@ -204,7 +205,7 @@ public class SocketEngine: NSObject, WebSocketDelegate {
204
205
}
205
206
206
207
for waiter in self !. probeWait {
207
- waiter ( )
208
+ self ? . write ( waiter . msg , withType : waiter . type , withData : waiter . data )
208
209
}
209
210
210
211
self ? . probeWait. removeAll ( keepCapacity: false )
@@ -481,23 +482,10 @@ public class SocketEngine: NSObject, WebSocketDelegate {
481
482
Send a message with type 4
482
483
*/
483
484
public func send( msg: String , datas: [ NSData ] ? = nil ) {
484
- let _send = { [ weak self] ( msg: String , datas: [ NSData ] ? ) -> ( ) -> Void in
485
- return {
486
- self ? . write ( msg, withType: PacketType . MESSAGE, withData: datas)
487
- return
488
- }
489
- }
490
-
491
- dispatch_async ( self . emitQueue) { [ weak self] in
492
- if self == nil {
493
- return
494
- }
495
-
496
- if self !. probing {
497
- self ? . probeWait. append ( _send ( msg, datas) )
498
- } else {
499
- _send ( msg, datas) ( )
500
- }
485
+ if self . probing {
486
+ self . probeWait. append ( ( msg, PacketType . MESSAGE, datas) )
487
+ } else {
488
+ self . write ( msg, withType: PacketType . MESSAGE, withData: datas)
501
489
}
502
490
}
503
491
0 commit comments