Merge branch 'socketio/swift-2' into tests
This commit is contained in:
commit
e25afd60fd
@ -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)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -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]
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user