                                                attributeType: operation.serviceType.rawValue,
                                                attributeValue: operation.uuid?.littleEndian ?? [])
                 
-                guard let newOperation = send(pdu, response: findByType)
-                    else { return }
+                guard let _ = send(pdu, response: { [unowned self] in self.findByType($0, operation: operation) })
+                    else { operation.completion(.error(.queueFull)); return }
                 
                 
             }


public enum GATTClientError: Error {
    
    /// The internal operations queue is full and no more pending ATT operations can be queued.
    ///
    /// The request was not successfully sent because the underlying transmit queue is full.
    case queueFull
    

            sendOperationID = send(pdu) { [unowned self] in self.readByGroupType($0, operation: operation) }
        }
        
        /// immediately call completion with error
        guard sendOperationID != nil else {
            completion(.error(.queueFull))
            return
        }
    }
    
