This commit is contained in:
Erik 2015-03-17 12:12:30 -04:00
parent 7d08f962d5
commit ac31b4a788

View File

@ -206,8 +206,8 @@ public class SocketIOClient: NSObject {
ackNum: self.currentAck, socket: self)
self.ackHandlers.append(ackHandler)
dispatch_async(self.emitQueue) {[weak self] in
self?._emit(event, args, ack: true)
dispatch_async(self.emitQueue) {[weak self, ack = self.currentAck] in
self?._emit(event, args, ack: ack)
return
}
@ -218,7 +218,7 @@ public class SocketIOClient: NSObject {
return self.emitWithAck(event, args)
}
private func _emit(event:String, _ args:[AnyObject], ack:Bool = false) {
private func _emit(event:String, _ args:[AnyObject], ack:Int? = nil) {
var frame:SocketEvent
var str:String
@ -229,22 +229,22 @@ public class SocketIOClient: NSObject {
}
if hasBinary {
if !ack {
if ack == nil {
str = SocketEvent.createMessageForEvent(event, withArgs: items,
hasBinary: true, withDatas: emitDatas.count, toNamespace: self.nsp)
} else {
str = SocketEvent.createMessageForEvent(event, withArgs: items,
hasBinary: true, withDatas: emitDatas.count, toNamespace: self.nsp, wantsAck: self.currentAck)
hasBinary: true, withDatas: emitDatas.count, toNamespace: self.nsp, wantsAck: ack)
}
self.engine?.send(str, datas: emitDatas)
} else {
if !ack {
if ack == nil {
str = SocketEvent.createMessageForEvent(event, withArgs: items, hasBinary: false,
withDatas: 0, toNamespace: self.nsp)
} else {
str = SocketEvent.createMessageForEvent(event, withArgs: items, hasBinary: false,
withDatas: 0, toNamespace: self.nsp, wantsAck: self.currentAck)
withDatas: 0, toNamespace: self.nsp, wantsAck: ack)
}
self.engine?.send(str)