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

View File

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

View File

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