Merge branch 'socketio/swift-2' into tests

This commit is contained in:
Lukas Schmidt 2015-08-02 17:50:15 +02:00
commit e25afd60fd
2 changed files with 36 additions and 32 deletions

View File

@ -99,7 +99,7 @@ public final class SocketEngine: NSObject, WebSocketDelegate, SocketLogClient {
public init(client:SocketEngineClient, sessionDelegate:NSURLSessionDelegate?) { public init(client:SocketEngineClient, sessionDelegate:NSURLSessionDelegate?) {
self.client = client self.client = client
self.session = NSURLSession(configuration: NSURLSessionConfiguration.ephemeralSessionConfiguration(), self.session = NSURLSession(configuration: NSURLSessionConfiguration.defaultSessionConfiguration(),
delegate: sessionDelegate, delegateQueue: workQueue) delegate: sessionDelegate, delegateQueue: workQueue)
} }

View File

@ -27,6 +27,8 @@ import Foundation
struct SocketPacket { struct SocketPacket {
let nsp:String let nsp:String
let id:Int let id:Int
let placeholders:Int
let type:PacketType
enum PacketType:Int { enum PacketType:Int {
case CONNECT = 0 case CONNECT = 0
@ -49,8 +51,6 @@ struct SocketPacket {
var currentPlace = 0 var currentPlace = 0
var binary:[NSData] var binary:[NSData]
var data:[AnyObject] var data:[AnyObject]
var placeholders:Int
var type:PacketType
var description:String { var description:String {
var better = "SocketPacket {type: ~~0; data: ~~1; " + var better = "SocketPacket {type: ~~0; data: ~~1; " +
"id: ~~2; placeholders: ~~3;}" "id: ~~2; placeholders: ~~3;}"
@ -73,22 +73,6 @@ struct SocketPacket {
self.binary = binary self.binary = binary
} }
static func packetFromEmitWithData(data:[AnyObject], id:Int, nsp:String) -> SocketPacket {
let (parsedData, binary) = deconstructData(data)
let packet = SocketPacket(type: findType(binary.count, ack: false), data: parsedData,
id: id, nsp: nsp, placeholders: -1, binary: binary)
return packet
}
static func packetFromEmitAckWithData(data:[AnyObject], id:Int, nsp:String) -> SocketPacket {
let (parsedData, binary) = deconstructData(data)
let packet = SocketPacket(type: findType(binary.count, ack: true), data: parsedData,
id: id, nsp: nsp, placeholders: -1, binary: binary)
return packet
}
mutating func addData(data:NSData) -> Bool { mutating func addData(data:NSData) -> Bool {
if placeholders == currentPlace { if placeholders == currentPlace {
return true return true
@ -144,7 +128,7 @@ struct SocketPacket {
} }
func createAck() -> String { func createAck() -> String {
var msg:String let msg:String
if type == PacketType.ACK { if type == PacketType.ACK {
if nsp == "/" { if nsp == "/" {
@ -242,6 +226,23 @@ struct SocketPacket {
} }
} }
func getEvent() -> String {
return data[0] as! String
}
func getArgs() -> [AnyObject]? {
var arr = data
if data.count == 0 {
return nil
} else {
arr.removeAtIndex(0)
return arr
}
}
}
extension SocketPacket {
private static func findType(binCount:Int, ack:Bool) -> PacketType { private static func findType(binCount:Int, ack:Bool) -> PacketType {
switch binCount { switch binCount {
case 0 where !ack: case 0 where !ack:
@ -257,21 +258,24 @@ struct SocketPacket {
} }
} }
func getEvent() -> String { static func packetFromEmitWithData(data:[AnyObject], id:Int, nsp:String) -> SocketPacket {
return data[0] as! String let (parsedData, binary) = deconstructData(data)
let packet = SocketPacket(type: findType(binary.count, ack: false), data: parsedData,
id: id, nsp: nsp, placeholders: -1, binary: binary)
return packet
} }
func getArgs() -> [AnyObject]? { static func packetFromEmitAckWithData(data:[AnyObject], id:Int, nsp:String) -> SocketPacket {
var arr = data let (parsedData, binary) = deconstructData(data)
let packet = SocketPacket(type: findType(binary.count, ack: true), data: parsedData,
id: id, nsp: nsp, placeholders: -1, binary: binary)
if data.count == 0 { return packet
return nil
} else {
arr.removeAtIndex(0)
return arr
}
} }
}
extension SocketPacket {
private static func shred(data:AnyObject, inout binary:[NSData]) -> AnyObject { private static func shred(data:AnyObject, inout binary:[NSData]) -> AnyObject {
if let bin = data as? NSData { if let bin = data as? NSData {
let placeholder = ["_placeholder" :true, "num": binary.count] let placeholder = ["_placeholder" :true, "num": binary.count]