             sendOperationID = send(pdu) { [unowned self] in self.readByGroupType($0, operation: operation) }
         }
         
+        /// immediately call completion with error
         guard sendOperationID != nil else {
             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
    

        
        let pdu = ATTMaximumTransmissionUnitRequest(clientMTU: clientMTU)
        
        guard let _ = send(pdu, response: { [unowned self] in self.exchangeMTUResponse($0) })
            else { fatalError("Could not add PDU to request queue. Invalid state.") }
    }
    
