refactors

This commit is contained in:
Erik 2015-12-25 10:02:09 -05:00
parent 298817ce5c
commit 931382deff
5 changed files with 29 additions and 30 deletions

View File

@ -34,13 +34,13 @@ public final class SocketAckEmitter: NSObject {
} }
public func with(items: AnyObject...) { public func with(items: AnyObject...) {
guard ackNum != -1 else {return} guard ackNum != -1 else { return }
socket.emitAck(ackNum, withItems: items) socket.emitAck(ackNum, withItems: items)
} }
public func with(items: [AnyObject]) { public func with(items: [AnyObject]) {
guard ackNum != -1 else {return} guard ackNum != -1 else { return }
socket.emitAck(ackNum, withItems: items) socket.emitAck(ackNum, withItems: items)
} }

View File

@ -171,9 +171,9 @@ public final class SocketEngine: NSObject, SocketEngineSpec, WebSocketDelegate {
connected = false connected = false
if websocket { if websocket {
sendWebSocketMessage("", withType: .Close) sendWebSocketMessage("", withType: .Close, withData: [])
} else { } else {
sendPollMessage("", withType: .Close) sendPollMessage("", withType: .Close, withData: [])
} }
ws?.disconnect() ws?.disconnect()
@ -270,7 +270,7 @@ public final class SocketEngine: NSObject, SocketEngineSpec, WebSocketDelegate {
"we'll probably disconnect soon. You should report this.", type: logType) "we'll probably disconnect soon. You should report this.", type: logType)
} }
sendWebSocketMessage("", withType: .Upgrade, datas: nil) sendWebSocketMessage("", withType: .Upgrade, withData: [])
websocket = true websocket = true
polling = false polling = false
fastUpgrade = false fastUpgrade = false
@ -455,7 +455,7 @@ public final class SocketEngine: NSObject, SocketEngineSpec, WebSocketDelegate {
private func probeWebSocket() { private func probeWebSocket() {
if websocketConnected { if websocketConnected {
sendWebSocketMessage("probe", withType: .Ping) sendWebSocketMessage("probe", withType: .Ping, withData: [])
} }
} }
@ -516,7 +516,7 @@ public final class SocketEngine: NSObject, SocketEngineSpec, WebSocketDelegate {
DefaultSocketLogger.Logger.log("Upgrading transport to WebSockets", type: logType) DefaultSocketLogger.Logger.log("Upgrading transport to WebSockets", type: logType)
fastUpgrade = true fastUpgrade = true
sendPollMessage("", withType: .Noop) sendPollMessage("", withType: .Noop, withData: [])
// After this point, we should not send anymore polling messages // After this point, we should not send anymore polling messages
} }
} }
@ -530,11 +530,11 @@ public final class SocketEngine: NSObject, SocketEngineSpec, WebSocketDelegate {
if self.websocket { if self.websocket {
DefaultSocketLogger.Logger.log("Writing ws: %@ has data: %@", DefaultSocketLogger.Logger.log("Writing ws: %@ has data: %@",
type: self.logType, args: msg, data.count != 0) type: self.logType, args: msg, data.count != 0)
self.sendWebSocketMessage(msg, withType: type, datas: data) self.sendWebSocketMessage(msg, withType: type, withData: data)
} else { } else {
DefaultSocketLogger.Logger.log("Writing poll: %@ has data: %@", DefaultSocketLogger.Logger.log("Writing poll: %@ has data: %@",
type: self.logType, args: msg, data.count != 0) type: self.logType, args: msg, data.count != 0)
self.sendPollMessage(msg, withType: type, datas: data) self.sendPollMessage(msg, withType: type, withData: data)
} }
} }
} }
@ -710,14 +710,14 @@ extension SocketEngine {
/// Send polling message. /// Send polling message.
/// Only call on emitQueue /// Only call on emitQueue
private func sendPollMessage(message: String, withType type: SocketEnginePacketType, private func sendPollMessage(message: String, withType type: SocketEnginePacketType,
datas:[NSData]? = nil) { withData datas: [NSData]) {
DefaultSocketLogger.Logger.log("Sending poll: %@ as type: %@", type: logType, args: message, type.rawValue) DefaultSocketLogger.Logger.log("Sending poll: %@ as type: %@", type: logType, args: message, type.rawValue)
let fixedMessage = doubleEncodeUTF8(message) let fixedMessage = doubleEncodeUTF8(message)
let strMsg = "\(type.rawValue)\(fixedMessage)" let strMsg = "\(type.rawValue)\(fixedMessage)"
postWait.append(strMsg) postWait.append(strMsg)
for data in datas ?? [] { for data in datas {
if case let .Right(bin) = createBinaryDataForSend(data) { if case let .Right(bin) = createBinaryDataForSend(data) {
postWait.append(bin) postWait.append(bin)
} }
@ -739,12 +739,12 @@ extension SocketEngine {
/// Send message on WebSockets /// Send message on WebSockets
/// Only call on emitQueue /// Only call on emitQueue
private func sendWebSocketMessage(str: String, withType type: SocketEnginePacketType, private func sendWebSocketMessage(str: String, withType type: SocketEnginePacketType,
datas:[NSData]? = nil) { withData datas: [NSData]) {
DefaultSocketLogger.Logger.log("Sending ws: %@ as type: %@", type: logType, args: str, type.rawValue) DefaultSocketLogger.Logger.log("Sending ws: %@ as type: %@", type: logType, args: str, type.rawValue)
ws?.writeString("\(type.rawValue)\(str)") ws?.writeString("\(type.rawValue)\(str)")
for data in datas ?? [] { for data in datas {
if case let .Left(bin) = createBinaryDataForSend(data) { if case let .Left(bin) = createBinaryDataForSend(data) {
ws?.writeData(bin) ws?.writeData(bin)
} }

View File

@ -112,13 +112,12 @@ public final class SocketIOClient: NSObject, SocketEngineClient {
engine?.close() engine?.close()
} }
private func addEngine() -> SocketEngine { private func addEngine() -> SocketEngineSpec {
DefaultSocketLogger.Logger.log("Adding engine", type: logType) DefaultSocketLogger.Logger.log("Adding engine", type: logType)
let newEngine = SocketEngine(client: self, url: socketURL, options: options ?? []) engine = SocketEngine(client: self, url: socketURL, options: options)
engine = newEngine return engine!
return newEngine
} }
private func clearReconnectTimer() { private func clearReconnectTimer() {

View File

@ -37,7 +37,7 @@ public protocol SocketLogger: class {
public extension SocketLogger { public extension SocketLogger {
func log(message: String, type: String, args: AnyObject...) { func log(message: String, type: String, args: AnyObject...) {
abstractLog("Log", message: message, type: type, args: args) abstractLog("LOG", message: message, type: type, args: args)
} }
func error(message: String, type: String, args: AnyObject...) { func error(message: String, type: String, args: AnyObject...) {
@ -47,7 +47,7 @@ public extension SocketLogger {
private func abstractLog(logType: String, message: String, type: String, args: [AnyObject]) { private func abstractLog(logType: String, message: String, type: String, args: [AnyObject]) {
guard log else { return } guard log else { return }
let newArgs = args.map {arg -> CVarArgType in String(arg)} let newArgs = args.map({arg -> CVarArgType in String(arg)})
let replaced = String(format: message, arguments: newArgs) let replaced = String(format: message, arguments: newArgs)
NSLog("%@ %@: %@", logType, type, replaced) NSLog("%@ %@: %@", logType, type, replaced)

View File

@ -55,7 +55,7 @@ struct SocketPacket {
} }
var event: String { var event: String {
return data[0] as? String ?? String(data[0]) return String(data[0])
} }
var packetString: String { var packetString: String {
@ -100,9 +100,9 @@ struct SocketPacket {
do { do {
let jsonSend = try NSJSONSerialization.dataWithJSONObject(arg, let jsonSend = try NSJSONSerialization.dataWithJSONObject(arg,
options: NSJSONWritingOptions(rawValue: 0)) options: NSJSONWritingOptions(rawValue: 0))
let jsonString = NSString(data: jsonSend, encoding: NSUTF8StringEncoding) let jsonString = String(data: jsonSend, encoding: NSUTF8StringEncoding)
restOfMessage += jsonString! as String + "," restOfMessage += jsonString! + ","
} catch { } catch {
DefaultSocketLogger.Logger.error("Error creating JSON object in SocketPacket.completeMessage", DefaultSocketLogger.Logger.error("Error creating JSON object in SocketPacket.completeMessage",
type: SocketPacket.logType) type: SocketPacket.logType)
@ -124,30 +124,30 @@ struct SocketPacket {
} }
private func createAck() -> String { private func createAck() -> String {
let msg: String let message: String
if type == PacketType.Ack { if type == .Ack {
if nsp == "/" { if nsp == "/" {
msg = "3\(id)[" message = "3\(id)["
} else { } else {
msg = "3\(nsp),\(id)[" message = "3\(nsp),\(id)["
} }
} else { } else {
if nsp == "/" { if nsp == "/" {
msg = "6\(binary.count)-\(id)[" message = "6\(binary.count)-\(id)["
} else { } else {
msg = "6\(binary.count)-\(nsp),\(id)[" message = "6\(binary.count)-\(nsp),\(id)["
} }
} }
return completeMessage(msg, ack: true) return completeMessage(message, ack: true)
} }
private func createMessageForEvent() -> String { private func createMessageForEvent() -> String {
let message: String let message: String
if type == PacketType.Event { if type == .Event {
if nsp == "/" { if nsp == "/" {
if id == -1 { if id == -1 {
message = "2[" message = "2["