 
                     self.delegate?.subscriptionMessageReceived(channel: results[1] as! String,
                                                                message: results[2] as! String)
-                    resultsWereProcessed = true
                 }
             case "pong":
                 debugPrint("SOCKET: Received pong")
                 lastPongDate = Date()
                 delegate?.socketDidReceivePong(socket: self)
-                resultsWereProcessed = true
             case "subscribe":
                 if results.count >= 2, let channel = results[1] as? String {
                     debugPrint("SOCKET: Subscribed to \(channel)")
                     delegate?.socketDidSubscribe(socket: self, channel: channel)
-                    resultsWereProcessed = true
                 }
             default:
-                resultsWereProcessed = true
                 break
             }
-        }
-
-        if resultsWereProcessed == false {
-            let error = NSError(domain: RedisStringParserClassConstants.errorDomain,
-                    code: 0,
-                    userInfo: [NSLocalizedDescriptionKey: "Failed to parse reponse.", "payload": "\(results)"])
-            delegate?.clientSideError(client: self, error: error)
         }
 
         if (self.completionBlocks.count > 0) {

    func socketDidConnect(client: RedisClient)
    func socketDidSubscribe(socket: RedisClient, channel: String)
    func socketDidReceivePong(socket: RedisClient)
    func clientSideError(client: RedisClient, error: Error)
}

@objc


    func redisMessageReceived(results: NSArray) {

        if let type = results.firstObject as? String {
            switch type.lowercased() {
            case "message":
