comment some socketpacket methods

This commit is contained in:
Erik 2015-12-26 13:38:59 -05:00
parent bed5ecd23b
commit 3d8867136d

View File

@ -190,12 +190,19 @@ struct SocketPacket {
return str return str
} }
// Called when we have all the binary data for a packet
// calls _fillInPlaceholders, which replaces placeholders with the
// corresponding binary
private mutating func fillInPlaceholders() { private mutating func fillInPlaceholders() {
data = data.map({_fillInPlaceholders($0)}) data = data.map({_fillInPlaceholders($0)})
} }
private mutating func _fillInPlaceholders(data: AnyObject) -> AnyObject { // Helper method that looks for placeholder strings
switch data { // If object is a collection it will recurse
// Returns the object if it is not a placeholder string or the corresponding
// binary data
private func _fillInPlaceholders(object: AnyObject) -> AnyObject {
switch object {
case let string as String where string["~~(\\d)"].groups() != nil: case let string as String where string["~~(\\d)"].groups() != nil:
return binary[Int(string["~~(\\d)"].groups()![1])!] return binary[Int(string["~~(\\d)"].groups()![1])!]
case let dict as NSDictionary: case let dict as NSDictionary:
@ -206,8 +213,7 @@ struct SocketPacket {
case let arr as [AnyObject]: case let arr as [AnyObject]:
return arr.map({_fillInPlaceholders($0)}) return arr.map({_fillInPlaceholders($0)})
default: default:
return data return object
} }
} }
} }
@ -216,15 +222,15 @@ 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:
return PacketType.Event return .Event
case 0 where ack: case 0 where ack:
return PacketType.Ack return .Ack
case _ where !ack: case _ where !ack:
return PacketType.BinaryEvent return .BinaryEvent
case _ where ack: case _ where ack:
return PacketType.BinaryAck return .BinaryAck
default: default:
return PacketType.Error return .Error
} }
} }
@ -238,6 +244,7 @@ extension SocketPacket {
} }
private extension SocketPacket { private extension SocketPacket {
// Recursive function that looks for NSData in collections
static func shred(data: AnyObject, inout binary: [NSData]) -> AnyObject { static func shred(data: AnyObject, inout binary: [NSData]) -> AnyObject {
let placeholder = ["_placeholder": true, "num": binary.count] let placeholder = ["_placeholder": true, "num": binary.count]
@ -257,6 +264,8 @@ private extension SocketPacket {
} }
} }
// Removes binary data from emit data
// Returns a type containing the de-binaryed data and the binary
static func deconstructData(data: [AnyObject]) -> ([AnyObject], [NSData]) { static func deconstructData(data: [AnyObject]) -> ([AnyObject], [NSData]) {
var binary = [NSData]() var binary = [NSData]()