@@ -32,7 +32,7 @@ extension String {
3232
3333private typealias PollWaitQueue = [ ( ) -> Void ]
3434
35- private enum PacketType : String {
35+ public enum PacketType : String {
3636 case OPEN = " 0 "
3737 case CLOSE = " 1 "
3838 case PING = " 2 "
@@ -43,7 +43,7 @@ private enum PacketType: String {
4343}
4444
4545public class SocketEngine : NSObject , WebSocketDelegate {
46- unowned let client : SocketIOClient
46+ unowned let client : SocketEngineClient
4747 private let workQueue = NSOperationQueue ( )
4848 private let emitQueue = dispatch_queue_create (
4949 " emitQueue " . cStringUsingEncoding ( NSUTF8StringEncoding) , DISPATCH_QUEUE_SERIAL)
@@ -80,7 +80,7 @@ public class SocketEngine: NSObject, WebSocketDelegate {
8080 }
8181 var ws : WebSocket ?
8282
83- init ( client: SocketIOClient , forcePolling: Bool = false , withCookies cookies: [ NSHTTPCookie ] ? ) {
83+ init ( client: SocketEngineClient , forcePolling: Bool = false , withCookies cookies: [ NSHTTPCookie ] ? ) {
8484 self . client = client
8585 self . forcePolling = forcePolling
8686 self . cookies = cookies
@@ -477,20 +477,14 @@ public class SocketEngine: NSObject, WebSocketDelegate {
477477 }
478478 }
479479
480+ /*
481+ Send a message with type 4
482+ */
480483 public func send( msg: String , datas: [ NSData ] ? = nil ) {
481484 let _send = { [ weak self] ( msg: String , datas: [ NSData ] ? ) -> ( ) -> Void in
482485 return {
483- if self == nil || !self !. connected {
484- return
485- }
486-
487- if self !. websocket {
488- // NSLog("sending ws: \(msg):\(datas)")
489- self ? . sendWebSocketMessage ( msg, withType: PacketType . MESSAGE, datas: datas)
490- } else {
491- // NSLog("sending poll: \(msg):\(datas)")
492- self ? . sendPollMessage ( msg, withType: PacketType . MESSAGE, datas: datas)
493- }
486+ self ? . write ( msg, withType: PacketType . MESSAGE, withData: datas)
487+ return
494488 }
495489 }
496490
@@ -559,7 +553,8 @@ public class SocketEngine: NSObject, WebSocketDelegate {
559553
560554 self . pingTimer? . invalidate ( )
561555 dispatch_async ( dispatch_get_main_queue ( ) ) {
562- self . pingTimer = NSTimer . scheduledTimerWithTimeInterval ( NSTimeInterval ( self . pingInterval!) , target: self ,
556+ self . pingTimer = NSTimer . scheduledTimerWithTimeInterval ( NSTimeInterval ( self . pingInterval!) ,
557+ target: self ,
563558 selector: Selector ( " sendPing " ) , userInfo: nil , repeats: true )
564559 }
565560 }
@@ -573,6 +568,22 @@ public class SocketEngine: NSObject, WebSocketDelegate {
573568 }
574569 }
575570
571+ public func write( msg: String , withType type: PacketType , withData data: [ NSData ] ? ) {
572+ if !self . connected {
573+ return
574+ }
575+
576+ if self . websocket {
577+ // NSLog("writing ws: \(msg):\(datas)")
578+ self . sendWebSocketMessage ( msg, withType: type, datas: data)
579+ } else {
580+ // NSLog("writing poll: \(msg):\(datas)")
581+ self . sendPollMessage ( msg, withType: type, datas: data)
582+ }
583+ }
584+
585+ // Delagate methods
586+
576587 public func websocketDidConnect( socket: WebSocket ) {
577588 self . websocketConnected = true
578589 self . probing = true
0 commit comments