This commit is contained in:
Erik 2015-03-22 09:53:25 -04:00
parent 4629565aaf
commit 4de422e7f1
3 changed files with 19 additions and 21 deletions

View File

@ -30,7 +30,7 @@ extension String {
}
}
private typealias Probe = (msg:String, type:PacketType, data:[NSData]?)
private typealias Probe = (msg:String, type:PacketType, data:ContiguousArray<NSData>?)
private typealias ProbeWaitQueue = [Probe]
public enum PacketType: String {
@ -477,7 +477,7 @@ public class SocketEngine: NSObject, WebSocketDelegate {
}
/// Send an engine message (4)
public func send(msg:String, withData datas:[NSData]?) {
public func send(msg:String, withData datas:ContiguousArray<NSData>?) {
if self.probing {
self.probeWait.append((msg, PacketType.MESSAGE, datas))
} else {
@ -494,9 +494,8 @@ public class SocketEngine: NSObject, WebSocketDelegate {
}
private func sendPollMessage(var msg:String, withType type:PacketType,
datas:[NSData]? = nil) {
datas:ContiguousArray<NSData>? = nil) {
// println("Sending poll: \(msg) as type: \(type.rawValue)")
doubleEncodeUTF8(&msg)
let strMsg = "\(type.rawValue)\(msg)"
@ -515,18 +514,19 @@ public class SocketEngine: NSObject, WebSocketDelegate {
}
}
private func sendWebSocketMessage(str:String, withType type:PacketType, datas:[NSData]? = nil) {
// println("Sending ws: \(str) as type: \(type.rawValue)")
self.ws?.writeString("\(type.rawValue)\(str)")
if datas != nil {
for data in datas! {
let (data, nilString) = self.createBinaryDataForSend(data)
if data != nil {
self.ws?.writeData(data!)
private func sendWebSocketMessage(str:String, withType type:PacketType,
datas:ContiguousArray<NSData>? = nil) {
// println("Sending ws: \(str) as type: \(type.rawValue)")
self.ws?.writeString("\(type.rawValue)\(str)")
if datas != nil {
for data in datas! {
let (data, nilString) = self.createBinaryDataForSend(data)
if data != nil {
self.ws?.writeData(data!)
}
}
}
}
}
// Starts the ping timer
@ -552,7 +552,7 @@ public class SocketEngine: NSObject, WebSocketDelegate {
}
}
public func write(msg:String, withType type:PacketType, withData data:[NSData]?) {
public func write(msg:String, withType type:PacketType, withData data:ContiguousArray<NSData>?) {
dispatch_async(self.emitQueue) {[weak self] in
if self == nil {
return

View File

@ -43,7 +43,7 @@ enum SocketPacketType: Int {
}
class SocketPacket {
var binary = [NSData]()
var binary = ContiguousArray<NSData>()
var currentPlace = 0
var data:[AnyObject]?
var id:Int?

View File

@ -27,8 +27,8 @@ private let shredder = SocketParser.Deconstructor()
class SocketParser {
// Translation of socket.io-parser#deconstructPacket
private class Deconstructor {
var buf = [NSData]()
var buf = ContiguousArray<NSData>()
func ripAndTear(data:AnyObject) -> AnyObject {
if let bin = data as? NSData {
let placeholder = ["_placeholder" :true, "num": buf.count]
@ -36,9 +36,7 @@ class SocketParser {
buf.append(bin)
return placeholder
}
if var arr = data as? [AnyObject] {
} else if var arr = data as? [AnyObject] {
for i in 0..<arr.count {
arr[i] = ripAndTear(arr[i])
}