From eab7311037a280b83ff75c2ec0f29262419fd6da Mon Sep 17 00:00:00 2001 From: Erik Date: Wed, 22 Apr 2015 12:55:23 -0400 Subject: [PATCH] create write method that can be used from objc --- SocketIOClientSwift/SocketEngine.swift | 20 ++++++++++++++++++++ SocketIOClientSwift/SocketIOClient.swift | 1 - 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/SocketIOClientSwift/SocketEngine.swift b/SocketIOClientSwift/SocketEngine.swift index 04c0bfe..535e1a8 100644 --- a/SocketIOClientSwift/SocketEngine.swift +++ b/SocketIOClientSwift/SocketEngine.swift @@ -646,6 +646,9 @@ public final class SocketEngine: NSObject, WebSocketDelegate, SocketLogClient { } } + /** + Write a message, independent of transport. + */ public func write(msg:String, withType type:PacketType, withData data:ContiguousArray?) { dispatch_async(self.emitQueue) {[weak self] in if self == nil || !self!.connected { @@ -662,6 +665,23 @@ public final class SocketEngine: NSObject, WebSocketDelegate, SocketLogClient { } } + /** + Write a message, independent of transport. For Objective-C. withData should be an NSArray of NSData + */ + public func writeObjc(msg:String, withType type:Int, withData data:NSArray?) { + if let pType = PacketType(rawValue: type) { + var arr = ContiguousArray() + + if data != nil { + for d in data! { + arr.append(d as! NSData) + } + } + + self.write(msg, withType: pType, withData: arr) + } + } + // Delagate methods public func websocketDidConnect(socket:WebSocket) { diff --git a/SocketIOClientSwift/SocketIOClient.swift b/SocketIOClientSwift/SocketIOClient.swift index 3322986..2236c0b 100644 --- a/SocketIOClientSwift/SocketIOClient.swift +++ b/SocketIOClientSwift/SocketIOClient.swift @@ -490,7 +490,6 @@ public final class SocketIOClient: NSObject, SocketEngineClient, SocketLogClient self?.reconnectTimer = NSTimer.scheduledTimerWithTimeInterval(Double(self!.reconnectWait), target: self!, selector: "tryReconnect", userInfo: nil, repeats: true) - return } }