clean up socketpacket

This commit is contained in:
Erik 2015-07-27 17:12:57 -04:00
parent 7b795fd989
commit 3c9c473e70

View File

@ -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]