     // which is sadly not available in public header for some reason I don't know.
     // I don't want to do it myself since This method is not trival to implement and I don't like reinventing the wheel.
     // Here is only the most naive version, which may not be the optimal if using with large data blocks.
+    /**
+     Read data until a specific pattern (including the pattern).
+
+     - parameter data: The pattern.
+     - parameter tag:  The tag identifying the data in the callback delegate method.
+     - warning: This should only be called after the last read is finished, i.e., `delegate?.didReadData()` is called.
+     */
     func readDataToData(data: NSData, withTag tag: Int) {
         scanner = StreamScanner(pattern: data, maximumLength: Opt.MAXNWTCPScanLength)
         scannerTag = tag
         readDataWithTag(NWTCPSocket.ScannerReadTag)
     }
 
-    private func delegateCall(block: ()->()) {
+    private func queueCall(block: ()->()) {
         dispatch_async(queue, block)
     }
 

        }
    }

    func readDataToLength(length: Int, withTag tag: Int) {
        connection.readLength(length) { data, error in
            guard error == nil else {

                return
            }

            self.queueCall {
                self.delegate?.didWriteData(data, withTag: tag, from: self)
            }
            self.checkStatus()
