 		self.centralManager.scanForPeripheralsWithServices(targets, options: nil)
 	}
 
+	/**
+	Check out a ScanRequest object. The scanning operation would stopped if no scan request exists after checking out, or else abstract the target UUID and apply a new scan.
+
+	- parameter request: an instance of ScanRequest
+	*/
 	private func checkOut(request: ScanRequest) -> Void {
 		self.scanRequests.remove(request)
 


extension Cusp {

	private func checkIn(request: ScanRequest) -> Void {
		self.scanRequests.insert(request)


public extension Cusp {

	/**
	Scan for BLE peripherals of specific advertising service UUIDs. If pass nil, all kinds of peripheral will be scanned. A timed-out scan will call completion closure, or else the abruption one.
	根据UUID数组扫描指定从设备, 如不指定UUID, 则扫描任意从设备. 扫描成功会执行completion闭包, 反之则执行abruption闭包;

	- parameter advertisingServiceUUIDs: a specific UUID array or nil. 指定的广播服务UUID数组或nil
	- parameter duration:                scan duration in second, 3.0s by default. 扫描时长, 默认3.0秒
	- parameter completion:              a closure called when scan timed out. 扫描完成后的回调, 返回从设备数组
	- parameter abruption:               a closure called when scan is abrupted. 扫描中断的回调, 返回错误原因
	*/
	public func scanForUUID(advertisingServiceUUIDs: [UUID]?, duration: NSTimeInterval = defaultDuration, completion: (([Peripheral]) -> Void)?, abruption: ((NSError) -> Void)?) {

